DATAES-180 - added faceted page back powered by aggregation
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*//*
|
||||
*/
|
||||
|
||||
package org.springframework.data.elasticsearch.core.facet;
|
||||
|
||||
@@ -20,8 +20,6 @@ import static org.elasticsearch.index.query.QueryBuilders.*;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import org.elasticsearch.index.query.FilterBuilders;
|
||||
import org.elasticsearch.search.facet.FacetBuilders;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -36,13 +34,12 @@ import org.springframework.data.elasticsearch.core.query.SearchQuery;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
*/
|
||||
/**
|
||||
* @author Rizwan Idrees
|
||||
* @author Mohsin Husen
|
||||
* @author Jonathan Yan
|
||||
* @author Artur Konczak
|
||||
*//*
|
||||
*/
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration("classpath:elasticsearch-template-test.xml")
|
||||
@@ -64,7 +61,7 @@ public class ElasticsearchTemplateFacetTests {
|
||||
elasticsearchTemplate.deleteIndex(ArticleEntity.class);
|
||||
elasticsearchTemplate.createIndex(ArticleEntity.class);
|
||||
elasticsearchTemplate.putMapping(ArticleEntity.class);
|
||||
elasticsearchTemplate.refresh(ArticleEntity.class, true);
|
||||
elasticsearchTemplate.refresh(ArticleEntity.class);
|
||||
|
||||
IndexQuery article1 = new ArticleEntityBuilder("1").title("article four").addAuthor(RIZWAN_IDREES).addAuthor(ARTUR_KONCZAK).addAuthor(MOHSIN_HUSEN).addAuthor(JONATHAN_YAN).score(10).buildIndex();
|
||||
IndexQuery article2 = new ArticleEntityBuilder("2").title("article three").addAuthor(RIZWAN_IDREES).addAuthor(ARTUR_KONCZAK).addAuthor(MOHSIN_HUSEN).addPublishedYear(YEAR_2000).score(20).buildIndex();
|
||||
@@ -75,7 +72,7 @@ public class ElasticsearchTemplateFacetTests {
|
||||
elasticsearchTemplate.index(article2);
|
||||
elasticsearchTemplate.index(article3);
|
||||
elasticsearchTemplate.index(article4);
|
||||
elasticsearchTemplate.refresh(ArticleEntity.class, true);
|
||||
elasticsearchTemplate.refresh(ArticleEntity.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -92,21 +89,21 @@ public class ElasticsearchTemplateFacetTests {
|
||||
TermResult facet = (TermResult) result.getFacet(facetName);
|
||||
Term term = facet.getTerms().get(0);
|
||||
assertThat(term.getTerm(), is(RIZWAN_IDREES));
|
||||
assertThat(term.getCount(), is(4));
|
||||
assertThat(term.getCount(), is(4l));
|
||||
|
||||
term = facet.getTerms().get(1);
|
||||
assertThat(term.getTerm(), is(ARTUR_KONCZAK));
|
||||
assertThat(term.getCount(), is(3));
|
||||
assertThat(term.getCount(), is(3l));
|
||||
|
||||
term = facet.getTerms().get(2);
|
||||
assertThat(term.getTerm(), is(MOHSIN_HUSEN));
|
||||
assertThat(term.getCount(), is(2));
|
||||
assertThat(term.getCount(), is(2l));
|
||||
|
||||
term = facet.getTerms().get(3);
|
||||
assertThat(term.getTerm(), is(JONATHAN_YAN));
|
||||
assertThat(term.getCount(), is(1));
|
||||
assertThat(term.getCount(), is(1l));
|
||||
|
||||
assertThat(facet.getTotal(), is(10l));
|
||||
assertThat(facet.getTotal(), is(4l));
|
||||
assertThat(facet.getOther(), is(0l));
|
||||
assertThat(facet.getMissing(), is(0l));
|
||||
}
|
||||
@@ -117,27 +114,26 @@ public class ElasticsearchTemplateFacetTests {
|
||||
// given
|
||||
String facetName = "fauthors";
|
||||
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
|
||||
.withFilter(FilterBuilders.notFilter(FilterBuilders.termFilter("title", "four")))
|
||||
.withFacet(new TermFacetRequestBuilder(facetName).applyQueryFilter().fields("authors.untouched").build()).build();
|
||||
// when
|
||||
FacetedPage<ArticleEntity> result = elasticsearchTemplate.queryForPage(searchQuery, ArticleEntity.class);
|
||||
// then
|
||||
assertThat(result.getNumberOfElements(), is(equalTo(3)));
|
||||
assertThat(result.getNumberOfElements(), is(equalTo(4)));
|
||||
|
||||
TermResult facet = (TermResult) result.getFacet(facetName);
|
||||
Term term = facet.getTerms().get(0);
|
||||
assertThat(term.getTerm(), is(RIZWAN_IDREES));
|
||||
assertThat(term.getCount(), is(3));
|
||||
assertThat(term.getCount(), is(4l));
|
||||
|
||||
term = facet.getTerms().get(1);
|
||||
assertThat(term.getTerm(), is(ARTUR_KONCZAK));
|
||||
assertThat(term.getCount(), is(2));
|
||||
assertThat(term.getCount(), is(3l));
|
||||
|
||||
term = facet.getTerms().get(2);
|
||||
assertThat(term.getTerm(), is(MOHSIN_HUSEN));
|
||||
assertThat(term.getCount(), is(1));
|
||||
assertThat(term.getCount(), is(2l));
|
||||
|
||||
assertThat(facet.getTotal(), is(6l));
|
||||
assertThat(facet.getTotal(), is(4l));
|
||||
assertThat(facet.getOther(), is(0l));
|
||||
assertThat(facet.getMissing(), is(0l));
|
||||
}
|
||||
@@ -147,23 +143,26 @@ public class ElasticsearchTemplateFacetTests {
|
||||
// given
|
||||
String facetName = "fauthors";
|
||||
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
|
||||
.withFilter(FilterBuilders.notFilter(FilterBuilders.termFilter("title", "four")))
|
||||
.withFacet(new TermFacetRequestBuilder(facetName).applyQueryFilter().fields("authors.untouched").excludeTerms(RIZWAN_IDREES, ARTUR_KONCZAK).build()).build();
|
||||
// when
|
||||
FacetedPage<ArticleEntity> result = elasticsearchTemplate.queryForPage(searchQuery, ArticleEntity.class);
|
||||
// then
|
||||
assertThat(result.getNumberOfElements(), is(equalTo(3)));
|
||||
assertThat(result.getNumberOfElements(), is(equalTo(4)));
|
||||
|
||||
TermResult facet = (TermResult) result.getFacet(facetName);
|
||||
|
||||
assertThat(facet.getTerms().size(), is(1));
|
||||
assertThat(facet.getTerms().size(), is(2));
|
||||
|
||||
Term term = facet.getTerms().get(0);
|
||||
assertThat(term.getTerm(), is(MOHSIN_HUSEN));
|
||||
assertThat(term.getCount(), is(1));
|
||||
assertThat(term.getCount(), is(2l));
|
||||
|
||||
Term term1 = facet.getTerms().get(1);
|
||||
assertThat(term1.getTerm(), is(JONATHAN_YAN));
|
||||
assertThat(term1.getCount(), is(1l));
|
||||
|
||||
assertThat(facet.getTotal(), is(6l));
|
||||
assertThat(facet.getOther(), is(5l));
|
||||
assertThat(facet.getTotal(), is(2l));
|
||||
assertThat(facet.getOther(), is(0l));
|
||||
assertThat(facet.getMissing(), is(0l));
|
||||
}
|
||||
|
||||
@@ -182,21 +181,21 @@ public class ElasticsearchTemplateFacetTests {
|
||||
TermResult facet = (TermResult) result.getFacet(facetName);
|
||||
Term term = facet.getTerms().get(0);
|
||||
assertThat(term.getTerm(), is(ARTUR_KONCZAK));
|
||||
assertThat(term.getCount(), is(3));
|
||||
assertThat(term.getCount(), is(3l));
|
||||
|
||||
term = facet.getTerms().get(1);
|
||||
assertThat(term.getTerm(), is(JONATHAN_YAN));
|
||||
assertThat(term.getCount(), is(1));
|
||||
assertThat(term.getCount(), is(1l));
|
||||
|
||||
term = facet.getTerms().get(2);
|
||||
assertThat(term.getTerm(), is(MOHSIN_HUSEN));
|
||||
assertThat(term.getCount(), is(2));
|
||||
assertThat(term.getCount(), is(2l));
|
||||
|
||||
term = facet.getTerms().get(3);
|
||||
assertThat(term.getTerm(), is(RIZWAN_IDREES));
|
||||
assertThat(term.getCount(), is(4));
|
||||
assertThat(term.getCount(), is(4l));
|
||||
|
||||
assertThat(facet.getTotal(), is(10l));
|
||||
assertThat(facet.getTotal(), is(4l));
|
||||
assertThat(facet.getOther(), is(0l));
|
||||
assertThat(facet.getMissing(), is(0l));
|
||||
}
|
||||
@@ -216,21 +215,21 @@ public class ElasticsearchTemplateFacetTests {
|
||||
TermResult facet = (TermResult) result.getFacet(facetName);
|
||||
Term term = facet.getTerms().get(0);
|
||||
assertThat(term.getTerm(), is(JONATHAN_YAN));
|
||||
assertThat(term.getCount(), is(1));
|
||||
assertThat(term.getCount(), is(1l));
|
||||
|
||||
term = facet.getTerms().get(1);
|
||||
assertThat(term.getTerm(), is(MOHSIN_HUSEN));
|
||||
assertThat(term.getCount(), is(2));
|
||||
assertThat(term.getCount(), is(2l));
|
||||
|
||||
term = facet.getTerms().get(2);
|
||||
assertThat(term.getTerm(), is(ARTUR_KONCZAK));
|
||||
assertThat(term.getCount(), is(3));
|
||||
assertThat(term.getCount(), is(3l));
|
||||
|
||||
term = facet.getTerms().get(3);
|
||||
assertThat(term.getTerm(), is(RIZWAN_IDREES));
|
||||
assertThat(term.getCount(), is(4));
|
||||
assertThat(term.getCount(), is(4l));
|
||||
|
||||
assertThat(facet.getTotal(), is(10l));
|
||||
assertThat(facet.getTotal(), is(4l));
|
||||
assertThat(facet.getOther(), is(0l));
|
||||
assertThat(facet.getMissing(), is(0l));
|
||||
}
|
||||
@@ -252,19 +251,19 @@ public class ElasticsearchTemplateFacetTests {
|
||||
|
||||
Term term = facet.getTerms().get(0);
|
||||
assertThat(term.getTerm(), is(Integer.toString(YEAR_2000)));
|
||||
assertThat(term.getCount(), is(3));
|
||||
assertThat(term.getCount(), is(3l));
|
||||
|
||||
term = facet.getTerms().get(1);
|
||||
assertThat(term.getTerm(), is(Integer.toString(YEAR_2001)));
|
||||
assertThat(term.getCount(), is(2));
|
||||
assertThat(term.getCount(), is(2l));
|
||||
|
||||
term = facet.getTerms().get(2);
|
||||
assertThat(term.getTerm(), is(Integer.toString(YEAR_2002)));
|
||||
assertThat(term.getCount(), is(1));
|
||||
assertThat(term.getCount(), is(1l));
|
||||
|
||||
assertThat(facet.getTotal(), is(6l));
|
||||
assertThat(facet.getTotal(), is(3l));
|
||||
assertThat(facet.getOther(), is(0l));
|
||||
assertThat(facet.getMissing(), is(1l));
|
||||
assertThat(facet.getMissing(), is(0l));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -273,36 +272,35 @@ public class ElasticsearchTemplateFacetTests {
|
||||
// given
|
||||
String facetName = "fyears";
|
||||
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
|
||||
.withFilter(FilterBuilders.notFilter(FilterBuilders.missingFilter("publishedYears")))
|
||||
.withFacet(new TermFacetRequestBuilder(facetName).applyQueryFilter().fields("publishedYears").descCount().build()).build();
|
||||
// when
|
||||
FacetedPage<ArticleEntity> result = elasticsearchTemplate.queryForPage(searchQuery, ArticleEntity.class);
|
||||
// then
|
||||
assertThat(result.getNumberOfElements(), is(equalTo(3)));
|
||||
assertThat(result.getNumberOfElements(), is(equalTo(4)));
|
||||
|
||||
TermResult facet = (TermResult) result.getFacet(facetName);
|
||||
assertThat(facet.getTerms().size(), is(equalTo(3)));
|
||||
|
||||
Term term = facet.getTerms().get(0);
|
||||
assertThat(term.getTerm(), is(Integer.toString(YEAR_2000)));
|
||||
assertThat(term.getCount(), is(3));
|
||||
assertThat(term.getCount(), is(3l));
|
||||
|
||||
term = facet.getTerms().get(1);
|
||||
assertThat(term.getTerm(), is(Integer.toString(YEAR_2001)));
|
||||
assertThat(term.getCount(), is(2));
|
||||
assertThat(term.getCount(), is(2l));
|
||||
|
||||
term = facet.getTerms().get(2);
|
||||
assertThat(term.getTerm(), is(Integer.toString(YEAR_2002)));
|
||||
assertThat(term.getCount(), is(1));
|
||||
assertThat(term.getCount(), is(1l));
|
||||
|
||||
assertThat(facet.getTotal(), is(6l));
|
||||
assertThat(facet.getTotal(), is(3l));
|
||||
assertThat(facet.getOther(), is(0l));
|
||||
assertThat(facet.getMissing(), is(0l));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void shouldReturnSingleFacetOverYearsAndAuthorsForGivenQuery() {
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void shouldThrowExeptionsForMultiFieldFacet() {
|
||||
|
||||
// given
|
||||
String facetName = "fyears";
|
||||
@@ -318,31 +316,31 @@ public class ElasticsearchTemplateFacetTests {
|
||||
|
||||
Term term = facet.getTerms().get(0);
|
||||
assertThat(term.getTerm(), is(Integer.toString(YEAR_2000)));
|
||||
assertThat(term.getCount(), is(3));
|
||||
assertThat(term.getCount(), is(3l));
|
||||
|
||||
term = facet.getTerms().get(1);
|
||||
assertThat(term.getTerm(), is(Integer.toString(YEAR_2001)));
|
||||
assertThat(term.getCount(), is(2));
|
||||
assertThat(term.getCount(), is(2l));
|
||||
|
||||
term = facet.getTerms().get(2);
|
||||
assertThat(term.getTerm(), is(Integer.toString(YEAR_2002)));
|
||||
assertThat(term.getCount(), is(1));
|
||||
assertThat(term.getCount(), is(1l));
|
||||
|
||||
term = facet.getTerms().get(3);
|
||||
assertThat(term.getTerm(), is(ARTUR_KONCZAK));
|
||||
assertThat(term.getCount(), is(3));
|
||||
assertThat(term.getCount(), is(3l));
|
||||
|
||||
term = facet.getTerms().get(4);
|
||||
assertThat(term.getTerm(), is(JONATHAN_YAN));
|
||||
assertThat(term.getCount(), is(1));
|
||||
assertThat(term.getCount(), is(1l));
|
||||
|
||||
term = facet.getTerms().get(5);
|
||||
assertThat(term.getTerm(), is(MOHSIN_HUSEN));
|
||||
assertThat(term.getCount(), is(2));
|
||||
assertThat(term.getCount(), is(2l));
|
||||
|
||||
term = facet.getTerms().get(6);
|
||||
assertThat(term.getTerm(), is(RIZWAN_IDREES));
|
||||
assertThat(term.getCount(), is(4));
|
||||
assertThat(term.getCount(), is(4l));
|
||||
|
||||
assertThat(facet.getTotal(), is(16l));
|
||||
assertThat(facet.getOther(), is(0l));
|
||||
@@ -369,46 +367,46 @@ public class ElasticsearchTemplateFacetTests {
|
||||
|
||||
Term numberTerm = numberFacet.getTerms().get(0);
|
||||
assertThat(numberTerm.getTerm(), is(Integer.toString(YEAR_2000)));
|
||||
assertThat(numberTerm.getCount(), is(3));
|
||||
assertThat(numberTerm.getCount(), is(3l));
|
||||
|
||||
numberTerm = numberFacet.getTerms().get(1);
|
||||
assertThat(numberTerm.getTerm(), is(Integer.toString(YEAR_2001)));
|
||||
assertThat(numberTerm.getCount(), is(2));
|
||||
assertThat(numberTerm.getCount(), is(2l));
|
||||
|
||||
numberTerm = numberFacet.getTerms().get(2);
|
||||
assertThat(numberTerm.getTerm(), is(Integer.toString(YEAR_2002)));
|
||||
assertThat(numberTerm.getCount(), is(1));
|
||||
assertThat(numberTerm.getCount(), is(1l));
|
||||
|
||||
TermResult stringFacet = (TermResult) result.getFacet(stringFacetName);
|
||||
Term stringTerm = stringFacet.getTerms().get(0);
|
||||
assertThat(stringTerm.getTerm(), is(ARTUR_KONCZAK));
|
||||
assertThat(stringTerm.getCount(), is(3));
|
||||
assertThat(stringTerm.getCount(), is(3l));
|
||||
|
||||
stringTerm = stringFacet.getTerms().get(1);
|
||||
assertThat(stringTerm.getTerm(), is(JONATHAN_YAN));
|
||||
assertThat(stringTerm.getCount(), is(1));
|
||||
assertThat(stringTerm.getCount(), is(1l));
|
||||
|
||||
stringTerm = stringFacet.getTerms().get(2);
|
||||
assertThat(stringTerm.getTerm(), is(MOHSIN_HUSEN));
|
||||
assertThat(stringTerm.getCount(), is(2));
|
||||
assertThat(stringTerm.getCount(), is(2l));
|
||||
|
||||
stringTerm = stringFacet.getTerms().get(3);
|
||||
assertThat(stringTerm.getTerm(), is(RIZWAN_IDREES));
|
||||
assertThat(stringTerm.getCount(), is(4));
|
||||
assertThat(stringTerm.getCount(), is(4l));
|
||||
|
||||
assertThat(stringFacet.getTotal(), is(10l));
|
||||
assertThat(stringFacet.getTotal(), is(4l));
|
||||
assertThat(stringFacet.getOther(), is(0l));
|
||||
assertThat(stringFacet.getMissing(), is(0l));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void shouldReturnFacetedYearsForNativeFacet() {
|
||||
@Test(expected = UnsupportedOperationException.class)
|
||||
public void shouldThrowExceptionForNativeFacets() {
|
||||
|
||||
// given
|
||||
String facetName = "fyears";
|
||||
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
|
||||
.withFacet(new NativeFacetRequest(FacetBuilders.termsFacet(facetName).field("publishedYears"))).build();
|
||||
.withFacet(new NativeFacetRequest()).build();
|
||||
// when
|
||||
FacetedPage<ArticleEntity> result = elasticsearchTemplate.queryForPage(searchQuery, ArticleEntity.class);
|
||||
// then
|
||||
@@ -419,15 +417,15 @@ public class ElasticsearchTemplateFacetTests {
|
||||
|
||||
Term term = facet.getTerms().get(0);
|
||||
assertThat(term.getTerm(), is(Integer.toString(YEAR_2000)));
|
||||
assertThat(term.getCount(), is(3));
|
||||
assertThat(term.getCount(), is(3l));
|
||||
|
||||
term = facet.getTerms().get(1);
|
||||
assertThat(term.getTerm(), is(Integer.toString(YEAR_2001)));
|
||||
assertThat(term.getCount(), is(2));
|
||||
assertThat(term.getCount(), is(2l));
|
||||
|
||||
term = facet.getTerms().get(2);
|
||||
assertThat(term.getTerm(), is(Integer.toString(YEAR_2002)));
|
||||
assertThat(term.getCount(), is(1));
|
||||
assertThat(term.getCount(), is(1l));
|
||||
|
||||
assertThat(facet.getTotal(), is(6l));
|
||||
assertThat(facet.getOther(), is(0l));
|
||||
@@ -439,12 +437,11 @@ public class ElasticsearchTemplateFacetTests {
|
||||
// given
|
||||
String facetName = "regex_authors";
|
||||
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
|
||||
.withFilter(FilterBuilders.notFilter(FilterBuilders.termFilter("title", "four")))
|
||||
.withFacet(new TermFacetRequestBuilder(facetName).applyQueryFilter().fields("authors.untouched").regex("Art.*").build()).build();
|
||||
// when
|
||||
FacetedPage<ArticleEntity> result = elasticsearchTemplate.queryForPage(searchQuery, ArticleEntity.class);
|
||||
// then
|
||||
assertThat(result.getNumberOfElements(), is(equalTo(3)));
|
||||
assertThat(result.getNumberOfElements(), is(equalTo(4)));
|
||||
|
||||
TermResult facet = (TermResult) result.getFacet(facetName);
|
||||
|
||||
@@ -452,10 +449,10 @@ public class ElasticsearchTemplateFacetTests {
|
||||
|
||||
Term term = facet.getTerms().get(0);
|
||||
assertThat(term.getTerm(), is(ARTUR_KONCZAK));
|
||||
assertThat(term.getCount(), is(2));
|
||||
assertThat(term.getCount(), is(3l));
|
||||
|
||||
assertThat(facet.getTotal(), is(6l));
|
||||
assertThat(facet.getOther(), is(4l));
|
||||
assertThat(facet.getTotal(), is(1l));
|
||||
assertThat(facet.getOther(), is(0l));
|
||||
assertThat(facet.getMissing(), is(0l));
|
||||
}
|
||||
|
||||
@@ -464,18 +461,17 @@ public class ElasticsearchTemplateFacetTests {
|
||||
// given
|
||||
String facetName = "all_authors";
|
||||
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
|
||||
.withFilter(FilterBuilders.notFilter(FilterBuilders.termFilter("title", "four")))
|
||||
.withFacet(new TermFacetRequestBuilder(facetName).applyQueryFilter().fields("authors.untouched").allTerms().build()).build();
|
||||
// when
|
||||
FacetedPage<ArticleEntity> result = elasticsearchTemplate.queryForPage(searchQuery, ArticleEntity.class);
|
||||
// then
|
||||
assertThat(result.getNumberOfElements(), is(equalTo(3)));
|
||||
assertThat(result.getNumberOfElements(), is(equalTo(4)));
|
||||
|
||||
TermResult facet = (TermResult) result.getFacet(facetName);
|
||||
|
||||
assertThat(facet.getTerms().size(), is(4));
|
||||
|
||||
assertThat(facet.getTotal(), is(6l));
|
||||
assertThat(facet.getTotal(), is(4l));
|
||||
assertThat(facet.getOther(), is(0l));
|
||||
assertThat(facet.getMissing(), is(0l));
|
||||
}
|
||||
@@ -499,7 +495,7 @@ public class ElasticsearchTemplateFacetTests {
|
||||
assertThat(facet.getRanges().size(), is(equalTo(3)));
|
||||
|
||||
Range range = facet.getRanges().get(0);
|
||||
assertThat(range.getFrom(), nullValue());
|
||||
assertThat(range.getFrom(), is(Double.NEGATIVE_INFINITY));
|
||||
assertThat(range.getTo(), is((double) YEAR_2000));
|
||||
assertThat(range.getCount(), is(0L));
|
||||
assertThat(range.getTotal(), is(0.0));
|
||||
@@ -508,17 +504,17 @@ public class ElasticsearchTemplateFacetTests {
|
||||
assertThat(range.getFrom(), is((double) YEAR_2000));
|
||||
assertThat(range.getTo(), is((double) YEAR_2002));
|
||||
assertThat(range.getCount(), is(3L));
|
||||
assertThat(range.getTotal(), is(6000.0));
|
||||
assertThat(range.getTotal(), is(12004.0));
|
||||
|
||||
range = facet.getRanges().get(2);
|
||||
assertThat(range.getFrom(), is((double) YEAR_2002));
|
||||
assertThat(range.getTo(), nullValue());
|
||||
assertThat(range.getTo(), is(Double.POSITIVE_INFINITY));
|
||||
assertThat(range.getCount(), is(1L));
|
||||
assertThat(range.getTotal(), is(2002.0));
|
||||
assertThat(range.getTotal(), is(6003.0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldReturnKeyValueRangeFacetForGivenQuery() {
|
||||
public void shouldReturnKeyValueRangeFacetForStringValuesInGivenQuery() {
|
||||
// given
|
||||
String facetName = "rangeScoreOverYears";
|
||||
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
|
||||
@@ -535,7 +531,7 @@ public class ElasticsearchTemplateFacetTests {
|
||||
assertThat(facet.getRanges().size(), is(equalTo(3)));
|
||||
|
||||
Range range = facet.getRanges().get(0);
|
||||
assertThat(range.getFrom(), nullValue());
|
||||
assertThat(range.getFrom(), is(Double.NEGATIVE_INFINITY));
|
||||
assertThat(range.getTo(), is((double) YEAR_2000));
|
||||
assertThat(range.getCount(), is(0L));
|
||||
assertThat(range.getTotal(), is(0.0));
|
||||
@@ -548,43 +544,7 @@ public class ElasticsearchTemplateFacetTests {
|
||||
|
||||
range = facet.getRanges().get(2);
|
||||
assertThat(range.getFrom(), is((double) YEAR_2002));
|
||||
assertThat(range.getTo(), nullValue());
|
||||
assertThat(range.getCount(), is(1L));
|
||||
assertThat(range.getTotal(), is(40.0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldReturnKeyValueRangeFacetForStringValuesInGivenQuery() {
|
||||
// given
|
||||
String facetName = "rangeScoreOverYears";
|
||||
SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
|
||||
.withFacet(
|
||||
new RangeFacetRequestBuilder(facetName).fields(PUBLISHED_YEARS, "score")
|
||||
.to("2000").range("2000", "2002").from("2002").build()
|
||||
).build();
|
||||
// when
|
||||
FacetedPage<ArticleEntity> result = elasticsearchTemplate.queryForPage(searchQuery, ArticleEntity.class);
|
||||
// then
|
||||
assertThat(result.getNumberOfElements(), is(equalTo(4)));
|
||||
|
||||
RangeResult facet = (RangeResult) result.getFacet(facetName);
|
||||
assertThat(facet.getRanges().size(), is(equalTo(3)));
|
||||
|
||||
Range range = facet.getRanges().get(0);
|
||||
assertThat(range.getFrom(), nullValue());
|
||||
assertThat(range.getTo(), is((double) YEAR_2000));
|
||||
assertThat(range.getCount(), is(0L));
|
||||
assertThat(range.getTotal(), is(0.0));
|
||||
|
||||
range = facet.getRanges().get(1);
|
||||
assertThat(range.getFrom(), is((double) YEAR_2000));
|
||||
assertThat(range.getTo(), is((double) YEAR_2002));
|
||||
assertThat(range.getCount(), is(3L));
|
||||
assertThat(range.getTotal(), is(90.0));
|
||||
|
||||
range = facet.getRanges().get(2);
|
||||
assertThat(range.getFrom(), is((double) YEAR_2002));
|
||||
assertThat(range.getTo(), nullValue());
|
||||
assertThat(range.getTo(), is(Double.POSITIVE_INFINITY));
|
||||
assertThat(range.getCount(), is(1L));
|
||||
assertThat(range.getTotal(), is(40.0));
|
||||
}
|
||||
@@ -635,4 +595,4 @@ public class ElasticsearchTemplateFacetTests {
|
||||
assertThat(unit.getCount(), is(1L));
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user