DATAES-164 - CriteriaQuery equals method has to use AND operator instead of OR

This commit is contained in:
Mohsin Husen 2015-05-15 12:25:45 +01:00
parent 55ed490776
commit 6639d6a65b
2 changed files with 3 additions and 3 deletions

View File

@ -122,7 +122,7 @@ class CriteriaQueryProcessor {
switch (key) {
case EQUALS:
query = queryString(searchText).field(fieldName);
query = queryString(searchText).field(fieldName).defaultOperator(QueryStringQueryBuilder.Operator.AND);
break;
case CONTAINS:
query = queryString("*" + searchText + "*").field(fieldName).analyzeWildcard(true);

View File

@ -223,12 +223,12 @@ public class CriteriaQueryTests {
elasticsearchTemplate.bulkIndex(indexQueries);
elasticsearchTemplate.refresh(SampleEntity.class, true);
CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria("message").is("some message").is("test message"));
CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria("message").is("some message"));
// when
Page<SampleEntity> page = elasticsearchTemplate.queryForPage(criteriaQuery, SampleEntity.class);
// then
assertThat("message", is(criteriaQuery.getCriteria().getField().getName()));
assertThat(page.getTotalElements(), is(greaterThanOrEqualTo(2L)));
assertThat(page.getTotalElements(), is(equalTo(1L)));
}
@Test