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