Example usage for org.springframework.data.elasticsearch.core.query Criteria Criteria

List of usage examples for org.springframework.data.elasticsearch.core.query Criteria Criteria

Introduction

In this page you can find the example usage for org.springframework.data.elasticsearch.core.query Criteria Criteria.

Prototype

public Criteria(Field field) 

Source Link

Document

Creates a new Criteria for the given field

Usage

From source file:example.springdata.elasticsearch.conference.ElasticsearchOperationsTest.java

@Test
public void textSearch() throws ParseException {

    String expectedDate = "2014-10-29";
    String expectedWord = "java";
    CriteriaQuery query = new CriteriaQuery(new Criteria("_all").contains(expectedWord)
            .and(new Criteria("date").greaterThanEqual(expectedDate)));

    List<Conference> result = operations.queryForList(query, Conference.class);

    assertThat(result, hasSize(3));/* w  w  w. j a va  2 s .com*/

    for (Conference conference : result) {
        assertThat(conference.getKeywords(), hasItem(expectedWord));
        assertThat(format.parse(conference.getDate()), greaterThan(format.parse(expectedDate)));
    }
}

From source file:example.springdata.elasticsearch.conference.ElasticsearchOperationsTest.java

@Test
public void geoSpatialSearch() {

    GeoPoint startLocation = new GeoPoint(50.0646501D, 19.9449799D);
    String range = "330mi"; // or 530km
    CriteriaQuery query = new CriteriaQuery(new Criteria("location").within(startLocation, range));

    List<Conference> result = operations.queryForList(query, Conference.class);

    assertThat(result, hasSize(2));/*from  w  w  w .  ja  va  2 s .c  o  m*/
}

From source file:example.springdata.elasticsearch.ElasticsearchOperationsTest.java

@Test
public void geoSpatialSearch() {

    String startLocation = "50.0646501,19.9449799";
    String range = "330mi"; // or 530km
    CriteriaQuery query = new CriteriaQuery(new Criteria("location").within(startLocation, range));

    List<Conference> result = operations.queryForList(query, Conference.class);

    assertThat(result, hasSize(2));//from   w  w w .ja v  a2 s .  c o m
}

From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test
public void shouldExecuteGivenCriteriaQuery() {
    // given//w w  w.j a  v a2s.  c  o  m
    String documentId = randomNumeric(5);
    SampleEntity sampleEntity = SampleEntity.builder().id(documentId).message("test message")
            .version(System.currentTimeMillis()).build();

    IndexQuery indexQuery = getIndexQuery(sampleEntity);

    elasticsearchTemplate.index(indexQuery);
    elasticsearchTemplate.refresh(SampleEntity.class);
    CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria("message").contains("test"));

    // when
    SampleEntity sampleEntity1 = elasticsearchTemplate.queryForObject(criteriaQuery, SampleEntity.class);
    // then
    assertThat(sampleEntity1, is(notNullValue()));
}

From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test
public void shouldDeleteGivenCriteriaQuery() throws InterruptedException {
    // given/*w  w  w . ja v a  2 s  .com*/
    String documentId = randomNumeric(5);
    SampleEntity sampleEntity = SampleEntity.builder().id(documentId).message("test message")
            .version(System.currentTimeMillis()).build();

    IndexQuery indexQuery = getIndexQuery(sampleEntity);

    elasticsearchTemplate.index(indexQuery);
    elasticsearchTemplate.refresh(SampleEntity.class);
    CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria("message").contains("test"));

    // when
    elasticsearchTemplate.delete(criteriaQuery, SampleEntity.class);
    elasticsearchTemplate.refresh(SampleEntity.class);
    // then
    StringQuery stringQuery = new StringQuery(matchAllQuery().toString());
    List<SampleEntity> sampleEntities = elasticsearchTemplate.queryForList(stringQuery, SampleEntity.class);

    assertThat(sampleEntities.size(), is(0));
}

From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test
public void shouldReturnListForGivenCriteria() {
    // given//w  w w.  j  av  a 2 s  .  c o m
    List<IndexQuery> indexQueries = new ArrayList<IndexQuery>();
    // first document
    String documentId = randomNumeric(5);
    SampleEntity sampleEntity1 = SampleEntity.builder().id(documentId).message("test message")
            .version(System.currentTimeMillis()).build();

    // second document
    String documentId2 = randomNumeric(5);
    SampleEntity sampleEntity2 = SampleEntity.builder().id(documentId2).message("test test").rate(5)
            .version(System.currentTimeMillis()).build();

    // third document
    String documentId3 = randomNumeric(5);
    SampleEntity sampleEntity3 = SampleEntity.builder().id(documentId3).message("some message").rate(15)
            .version(System.currentTimeMillis()).build();

    indexQueries = getIndexQueries(Arrays.asList(sampleEntity1, sampleEntity2, sampleEntity3));

    // when
    elasticsearchTemplate.bulkIndex(indexQueries);
    elasticsearchTemplate.refresh(SampleEntity.class);
    // when
    CriteriaQuery singleCriteriaQuery = new CriteriaQuery(new Criteria("message").contains("test"));
    CriteriaQuery multipleCriteriaQuery = new CriteriaQuery(
            new Criteria("message").contains("some").and("message").contains("message"));
    List<SampleEntity> sampleEntitiesForSingleCriteria = elasticsearchTemplate.queryForList(singleCriteriaQuery,
            SampleEntity.class);
    List<SampleEntity> sampleEntitiesForAndCriteria = elasticsearchTemplate.queryForList(multipleCriteriaQuery,
            SampleEntity.class);
    // then
    assertThat(sampleEntitiesForSingleCriteria.size(), is(2));
    assertThat(sampleEntitiesForAndCriteria.size(), is(1));
}

From source file:org.springframework.data.elasticsearch.core.ElasticsearchTemplateTests.java

@Test
public void shouldExecuteGivenCriteriaQuery() {
    // given//  w  ww .j  ava  2 s .  co  m
    String documentId = randomNumeric(5);
    SampleEntity sampleEntity = new SampleEntity();
    sampleEntity.setId(documentId);
    sampleEntity.setMessage("some test message");
    sampleEntity.setVersion(System.currentTimeMillis());

    IndexQuery indexQuery = new IndexQuery();
    indexQuery.setId(documentId);
    indexQuery.setObject(sampleEntity);

    elasticsearchTemplate.index(indexQuery);
    elasticsearchTemplate.refresh(SampleEntity.class, true);
    CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria("message").contains("test"));

    // when
    SampleEntity sampleEntity1 = elasticsearchTemplate.queryForObject(criteriaQuery, SampleEntity.class);
    // then
    assertThat(sampleEntity1, is(notNullValue()));
}

From source file:org.springframework.data.elasticsearch.core.ElasticsearchTemplateTests.java

@Test
public void shouldReturnListForGivenCriteria() {
    // given/*from   w w w  .j  a v a  2 s.co m*/
    List<IndexQuery> indexQueries = new ArrayList<IndexQuery>();
    // first document
    String documentId = randomNumeric(5);
    SampleEntity sampleEntity1 = new SampleEntity();
    sampleEntity1.setId(documentId);
    sampleEntity1.setMessage("test message");
    sampleEntity1.setVersion(System.currentTimeMillis());

    IndexQuery indexQuery1 = new IndexQuery();
    indexQuery1.setId(documentId);
    indexQuery1.setObject(sampleEntity1);
    indexQueries.add(indexQuery1);

    // second document
    String documentId2 = randomNumeric(5);
    SampleEntity sampleEntity2 = new SampleEntity();
    sampleEntity2.setId(documentId2);
    sampleEntity2.setMessage("test test");
    sampleEntity2.setVersion(System.currentTimeMillis());

    IndexQuery indexQuery2 = new IndexQuery();
    indexQuery2.setId(documentId2);
    indexQuery2.setObject(sampleEntity2);

    indexQueries.add(indexQuery2);

    // second document
    String documentId3 = randomNumeric(5);
    SampleEntity sampleEntity3 = new SampleEntity();
    sampleEntity3.setId(documentId3);
    sampleEntity3.setMessage("some message");
    sampleEntity3.setVersion(System.currentTimeMillis());

    IndexQuery indexQuery3 = new IndexQuery();
    indexQuery3.setId(documentId3);
    indexQuery3.setObject(sampleEntity3);

    indexQueries.add(indexQuery3);
    // when
    elasticsearchTemplate.bulkIndex(indexQueries);
    elasticsearchTemplate.refresh(SampleEntity.class, true);
    // when
    CriteriaQuery singleCriteriaQuery = new CriteriaQuery(new Criteria("message").contains("test"));
    CriteriaQuery multipleCriteriaQuery = new CriteriaQuery(
            new Criteria("message").contains("some").and("message").contains("message"));
    List<SampleEntity> sampleEntitiesForSingleCriteria = elasticsearchTemplate.queryForList(singleCriteriaQuery,
            SampleEntity.class);
    List<SampleEntity> sampleEntitiesForAndCriteria = elasticsearchTemplate.queryForList(multipleCriteriaQuery,
            SampleEntity.class);
    // then
    assertThat(sampleEntitiesForSingleCriteria.size(), is(2));
    assertThat(sampleEntitiesForAndCriteria.size(), is(1));
}

From source file:org.springframework.data.elasticsearch.core.query.Criteria.java

/**
 * Static factory method to create a new Criteria for provided field
 * //from   w w w . j  a v  a 2  s  .  c o m
 * @param field
 * @return
 */
public static Criteria where(Field field) {
    return new Criteria(field);
}

From source file:org.springframework.data.elasticsearch.core.query.CriteriaQueryTests.java

@Test
public void shouldPerformAndOperation() {
    // given/*from w w w  . ja v  a2 s .c om*/
    String documentId = randomNumeric(5);
    SampleEntity sampleEntity = new SampleEntity();
    sampleEntity.setId(documentId);
    sampleEntity.setMessage("some test message");
    sampleEntity.setVersion(System.currentTimeMillis());

    IndexQuery indexQuery = new IndexQuery();
    indexQuery.setId(documentId);
    indexQuery.setObject(sampleEntity);
    elasticsearchTemplate.index(indexQuery);
    elasticsearchTemplate.refresh(SampleEntity.class, true);
    CriteriaQuery criteriaQuery = new CriteriaQuery(
            new Criteria("message").contains("test").and("message").contains("some"));
    // when
    SampleEntity sampleEntity1 = elasticsearchTemplate.queryForObject(criteriaQuery, SampleEntity.class);
    // then
    assertThat(sampleEntity1, is(notNullValue()));
}