Search in sources :

Example 16 with GeoPoint

use of org.springframework.data.elasticsearch.core.geo.GeoPoint in project spring-data-elasticsearch by spring-projects.

the class CustomMethodRepositoryIntegrationTests method shouldExecuteCustomMethodWithGeoPointAndString.

@Test
public void shouldExecuteCustomMethodWithGeoPointAndString() {
    // given
    String documentId = nextIdAsString();
    SampleEntity sampleEntity = new SampleEntity();
    sampleEntity.setId(documentId);
    sampleEntity.setType("test");
    sampleEntity.setRate(10);
    sampleEntity.setMessage("foo");
    sampleEntity.setLocation(new GeoPoint(45.7806d, 3.0875d));
    repository.save(sampleEntity);
    documentId = nextIdAsString();
    sampleEntity = new SampleEntity();
    sampleEntity.setId(documentId);
    sampleEntity.setType("test");
    sampleEntity.setRate(10);
    sampleEntity.setMessage("foo");
    sampleEntity.setLocation(new GeoPoint(48.7806d, 3.0875d));
    repository.save(sampleEntity);
    // when
    Page<SampleEntity> page = repository.findByLocationAndMessage(new GeoPoint(45.7806d, 3.0875d), "foo", PageRequest.of(0, 10));
    // then
    assertThat(page).isNotNull();
    assertThat(page.getTotalElements()).isEqualTo(1L);
}
Also used : GeoPoint(org.springframework.data.elasticsearch.core.geo.GeoPoint) Test(org.junit.jupiter.api.Test) SpringIntegrationTest(org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest)

Example 17 with GeoPoint

use of org.springframework.data.elasticsearch.core.geo.GeoPoint in project spring-data-elasticsearch by spring-projects.

the class CustomMethodRepositoryIntegrationTests method shouldCountCustomMethodWithNearBox.

// DATAES-106
@Test
public void shouldCountCustomMethodWithNearBox() {
    // given
    String documentId = nextIdAsString();
    SampleEntity sampleEntity = new SampleEntity();
    sampleEntity.setId(documentId);
    sampleEntity.setType("test");
    sampleEntity.setRate(10);
    sampleEntity.setMessage("foo");
    sampleEntity.setLocation(new GeoPoint(45.7806d, 3.0875d));
    repository.save(sampleEntity);
    documentId = nextIdAsString();
    SampleEntity sampleEntity2 = new SampleEntity();
    sampleEntity2.setId(documentId);
    sampleEntity2.setType("test2");
    sampleEntity2.setRate(10);
    sampleEntity2.setMessage("foo");
    sampleEntity2.setLocation(new GeoPoint(30.7806d, 0.0875d));
    repository.save(sampleEntity2);
    // when
    long count = repository.countByLocationNear(new Box(new Point(3d, 46d), new Point(4d, 45d)));
    // then
    assertThat(count).isEqualTo(1L);
}
Also used : GeoPoint(org.springframework.data.elasticsearch.core.geo.GeoPoint) GeoBox(org.springframework.data.elasticsearch.core.geo.GeoBox) Box(org.springframework.data.geo.Box) Point(org.springframework.data.geo.Point) GeoPoint(org.springframework.data.elasticsearch.core.geo.GeoPoint) Test(org.junit.jupiter.api.Test) SpringIntegrationTest(org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest)

Example 18 with GeoPoint

use of org.springframework.data.elasticsearch.core.geo.GeoPoint in project spring-data-elasticsearch by spring-projects.

the class CustomMethodRepositoryIntegrationTests method shouldExecuteCustomMethodWithNearPointAndDistance.

@Test
public void shouldExecuteCustomMethodWithNearPointAndDistance() {
    // given
    String documentId = nextIdAsString();
    SampleEntity sampleEntity = new SampleEntity();
    sampleEntity.setId(documentId);
    sampleEntity.setType("test");
    sampleEntity.setRate(10);
    sampleEntity.setMessage("foo");
    sampleEntity.setLocation(new GeoPoint(45.7806d, 3.0875d));
    repository.save(sampleEntity);
    // when
    Page<SampleEntity> page = repository.findByLocationNear(new Point(3.0875d, 45.7806d), new Distance(2, Metrics.KILOMETERS), PageRequest.of(0, 10));
    // then
    assertThat(page).isNotNull();
    assertThat(page.getTotalElements()).isEqualTo(1L);
}
Also used : GeoPoint(org.springframework.data.elasticsearch.core.geo.GeoPoint) Point(org.springframework.data.geo.Point) GeoPoint(org.springframework.data.elasticsearch.core.geo.GeoPoint) Distance(org.springframework.data.geo.Distance) Test(org.junit.jupiter.api.Test) SpringIntegrationTest(org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest)

Aggregations

GeoPoint (org.springframework.data.elasticsearch.core.geo.GeoPoint)18 Test (org.junit.jupiter.api.Test)15 SpringIntegrationTest (org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest)12 Point (org.springframework.data.geo.Point)8 Distance (org.springframework.data.geo.Distance)5 Document (org.springframework.data.elasticsearch.core.document.Document)2 GeoBox (org.springframework.data.elasticsearch.core.geo.GeoBox)2 GeoJsonLineString (org.springframework.data.elasticsearch.core.geo.GeoJsonLineString)2 GeoJsonMultiLineString (org.springframework.data.elasticsearch.core.geo.GeoJsonMultiLineString)2 Box (org.springframework.data.geo.Box)2 ArrayList (java.util.ArrayList)1 List (java.util.List)1 GeoDistance (org.elasticsearch.common.geo.GeoDistance)1 GeoDistanceQueryBuilder (org.elasticsearch.index.query.GeoDistanceQueryBuilder)1 Sort (org.springframework.data.domain.Sort)1 SearchHits (org.springframework.data.elasticsearch.core.SearchHits)1 SearchPage (org.springframework.data.elasticsearch.core.SearchPage)1 Criteria (org.springframework.data.elasticsearch.core.query.Criteria)1 CriteriaQuery (org.springframework.data.elasticsearch.core.query.CriteriaQuery)1 GeoDistanceOrder (org.springframework.data.elasticsearch.core.query.GeoDistanceOrder)1