|
|
|
|
|
|
Explaining faceting and the non trivial way to read and select facets is not easy. We chould could simplify things by renaming a few APIs around canonical concepts:
- FacetingRequest - Facet group - Facet selection - Facet
Possible renames are:
- FullTextQuery.enableFaceting -> FullTextQuery.enableFacetingRequest - FullTextQuery.disableFaceting -> FullTextQuery.disableFacetingRequest - FacetManager.getFacets() -> FacetManager.getFacetGroup() - FacetManager.getFacetGroup() -> FacetManager.getFacetSelection()
{code} FacetingRequest categoryFaceting = qb.facet() .name("category") .onField("event.category.description") .discrete() .includeZeroCounts(true) .orderedBy(FacetSortOrder.FIELD_VALUE) .createFacetingRequest(); objectQuery.getFacetManager().enableFacetingRequest(categoryFaceting);
...
FacetManager fm = objectQuery.getFacetManager(); Facet selectedFacet = fm.getFacetGroup("category").get(categoryFacetId); fm.getFacetSelection("category").selectFacets(selectedFacet); {code}
This is more an example to get us talk on the subject than a fully fledged proposal but since we do break things in 5, it's a good time to start it.
|
|
|
|
|
|