You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by rajesh mathi <ra...@gmail.com> on 2019/04/30 14:52:53 UTC
Reg Numeric facet in drillsideways
Hi,
I am implementing drillsideways for boh string and numeric fields.
Based on this post
<http://lucene.472066.n3.nabble.com/Numeric-Ranges-Faceting-td4320323.html> ,
i have overridden the buildFacetsResult method to achieve numeric facet
using drillsideways.
i have two doubt,
1) I have a range
- 11 to 20
- 21 to 30
- 31 to 40
Consider, if user selects only range "11 to 20" and "21 to 30 ", i am
passing the query in buildfacetsResults as given below
@Override
> protected Facets buildFacetsResult(FacetsCollector drillDowns,
> FacetsCollector[] drillSideways, String[] drillSidewaysDims) throws
> IOException {
> return new LongRangeFacetCounts("price",
> drillSideways[0],new LongRange("11 to 20", 11l, true, 20l, true),new
> LongRange("21 to 30", 21l, true, 30l, true));
> }
>
i am getting only the dimensions given below when i call the method
"result.facets.getTopChildren(10,"price")",
10 to 20 (541)
>>
> 20 to 30 (489)
>
>
*Question:* Why i cant able to get range "31 to 40" dimension? Do i need
to pass new LongRange("21 to 30", 21l, true, 30l, true) in order to get
range of "31 to 40" in facetdimension, even though user didn't select the
range ?
2) By using the above code i can get dimensions for numeric facets using
"result.facets.getTopChildren(10,"price")".
Currently i am using two calls for fetching dims( one for String facet and
other for Numeric facet) , Since i cant able to use both "
result.facets.getTopChildren(10,"price") and result.facets.getAllDims(10)
" at a same time.
*Question:* Is there any other optimized way for fetching both numeric and
string facet in one call ?
NOTE: Lucene version we use : 4.10.4
Please give me any suggestion. Thanks in advance.
Regards,
Rajesh A