Quantcast

Numeric Ranges Faceting

Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Numeric Ranges Faceting

Chitra R
Hi,
   We have planned to implement both string and numeric faceting using docvalues field.

For string faceting, we have added pathtraversed dimensions in drilldownquery. But for numeric faceting , how and where can we add pathtraversed ranges during nextlevel faceted search.?
And which is the better way to add pathtraversed ranges
( ie adding pathtraversed ranges in numericRangeQuery or
adding pathtraversed ranges in filter).??Or Any other solution.???

Thanks & Regards,
Chitra


Sent from my iPhone
---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Numeric Ranges Faceting

Michael McCandless-2
Hi, have a look at the RangeFacetsExample.java under the lucene/demo
module... it shows how to do this.

Mike McCandless

http://blog.mikemccandless.com


On Tue, Feb 14, 2017 at 12:07 PM, Chitra R <[hidden email]> wrote:

> Hi,
>    We have planned to implement both string and numeric faceting using docvalues field.
>
> For string faceting, we have added pathtraversed dimensions in drilldownquery. But for numeric faceting , how and where can we add pathtraversed ranges during nextlevel faceted search.?
> And which is the better way to add pathtraversed ranges
> ( ie adding pathtraversed ranges in numericRangeQuery or
> adding pathtraversed ranges in filter).??Or Any other solution.???
>
> Thanks & Regards,
> Chitra
>
>
> Sent from my iPhone
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Numeric Ranges Faceting

Chitra R
Hi,
              Thanks for the suggestion. But in the case of drill sideways
search, retrieving allDimensions (using Facets.getAllDimension()) threw an
exception which is shown below...

1. While opening DocValuesReaderState, global ordinals and ordinals Range
map will be computed for '$facets' field only.
2. NumericDocValuesField never indexes under '$ facets' so ordinal RangeMap
will be null for the numeric field ie 'time'.

java.lang.IllegalArgumentException: dimension "time" was not indexed
>
> at
>> org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts.getTopChildren(SortedSetDocValuesFacetCounts.java:91)
>
> t org.apache.lucene.facet.MultiFacets.getAllDims(MultiFacets.java:74)
>
>
In my use case,

   - Both string pathTraversed and Numeric PathTraversedRanges will occur.
   - And both faceted search and drill sideways search will be used.

So how can I add path-traversed numericRanges?

Am I missed anything?


Kindly post your suggestions.


Regards,
Chitra

On Wed, Feb 15, 2017 at 3:28 PM, Michael McCandless <
[hidden email]> wrote:

> Hi, have a look at the RangeFacetsExample.java under the lucene/demo
> module... it shows how to do this.
>
> Mike McCandless
>
> http://blog.mikemccandless.com
>
>
> On Tue, Feb 14, 2017 at 12:07 PM, Chitra R <[hidden email]> wrote:
> > Hi,
> >    We have planned to implement both string and numeric faceting using
> docvalues field.
> >
> > For string faceting, we have added pathtraversed dimensions in
> drilldownquery. But for numeric faceting , how and where can we add
> pathtraversed ranges during nextlevel faceted search.?
> > And which is the better way to add pathtraversed ranges
> > ( ie adding pathtraversed ranges in numericRangeQuery or
> > adding pathtraversed ranges in filter).??Or Any other solution.???
> >
> > Thanks & Regards,
> > Chitra
> >
> >
> > Sent from my iPhone
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Numeric Ranges Faceting

Chitra R
Any suggestions???? Kindly help me to move forward.

Regards,
Chitra

On Wed, Feb 15, 2017 at 9:23 PM, Chitra R <[hidden email]> wrote:

> Hi,
>               Thanks for the suggestion. But in the case of drill sideways
> search, retrieving allDimensions (using Facets.getAllDimension()) threw an
> exception which is shown below...
>
> 1. While opening DocValuesReaderState, global ordinals and ordinals Range
> map will be computed for '$facets' field only.
> 2. NumericDocValuesField never indexes under '$ facets' so ordinal
> RangeMap will be null for the numeric field ie 'time'.
>
> java.lang.IllegalArgumentException: dimension "time" was not indexed
>>
>> at org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts.
>>> getTopChildren(SortedSetDocValuesFacetCounts.java:91)
>>
>> t org.apache.lucene.facet.MultiFacets.getAllDims(MultiFacets.java:74)
>>
>>
> In my use case,
>
>    - Both string pathTraversed and Numeric PathTraversedRanges will
>    occur.
>    - And both faceted search and drill sideways search will be used.
>
> So how can I add path-traversed numericRanges?
>
> Am I missed anything?
>
>
> Kindly post your suggestions.
>
>
> Regards,
> Chitra
>
> On Wed, Feb 15, 2017 at 3:28 PM, Michael McCandless <
> [hidden email]> wrote:
>
>> Hi, have a look at the RangeFacetsExample.java under the lucene/demo
>> module... it shows how to do this.
>>
>> Mike McCandless
>>
>> http://blog.mikemccandless.com
>>
>>
>> On Tue, Feb 14, 2017 at 12:07 PM, Chitra R <[hidden email]> wrote:
>> > Hi,
>> >    We have planned to implement both string and numeric faceting using
>> docvalues field.
>> >
>> > For string faceting, we have added pathtraversed dimensions in
>> drilldownquery. But for numeric faceting , how and where can we add
>> pathtraversed ranges during nextlevel faceted search.?
>> > And which is the better way to add pathtraversed ranges
>> > ( ie adding pathtraversed ranges in numericRangeQuery or
>> > adding pathtraversed ranges in filter).??Or Any other solution.???
>> >
>> > Thanks & Regards,
>> > Chitra
>> >
>> >
>> > Sent from my iPhone
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [hidden email]
>> > For additional commands, e-mail: [hidden email]
>> >
>>
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Numeric Ranges Faceting

Michael McCandless-2
Hi, how are you instantiating your MultiFacets?  You should be passing
e.g. a LongRangeFacetCounts instance for your "time" dimension, which
should prevent that exception.

For DrillSideways, I think you must subclass, and then override
buildFacetResult to compute your range facets, because that class
assumes it's either indexed facets or sorted set doc values facets.

Mike McCandless

http://blog.mikemccandless.com


On Fri, Feb 17, 2017 at 9:14 AM, Chitra R <[hidden email]> wrote:

> Any suggestions???? Kindly help me to move forward.
>
> Regards,
> Chitra
>
> On Wed, Feb 15, 2017 at 9:23 PM, Chitra R <[hidden email]> wrote:
>>
>> Hi,
>>               Thanks for the suggestion. But in the case of drill sideways
>> search, retrieving allDimensions (using Facets.getAllDimension()) threw an
>> exception which is shown below...
>>
>> 1. While opening DocValuesReaderState, global ordinals and ordinals Range
>> map will be computed for '$facets' field only.
>> 2. NumericDocValuesField never indexes under '$ facets' so ordinal
>> RangeMap will be null for the numeric field ie 'time'.
>>
>>>> java.lang.IllegalArgumentException: dimension "time" was not indexed
>>>>
>>>> at
>>>> org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts.getTopChildren(SortedSetDocValuesFacetCounts.java:91)
>>>>
>>>> t org.apache.lucene.facet.MultiFacets.getAllDims(MultiFacets.java:74)
>>
>>
>> In my use case,
>>
>> Both string pathTraversed and Numeric PathTraversedRanges will occur.
>> And both faceted search and drill sideways search will be used.
>>
>> So how can I add path-traversed numericRanges?
>>
>> Am I missed anything?
>>
>>
>> Kindly post your suggestions.
>>
>>
>> Regards,
>> Chitra
>>
>> On Wed, Feb 15, 2017 at 3:28 PM, Michael McCandless
>> <[hidden email]> wrote:
>>>
>>> Hi, have a look at the RangeFacetsExample.java under the lucene/demo
>>> module... it shows how to do this.
>>>
>>> Mike McCandless
>>>
>>> http://blog.mikemccandless.com
>>>
>>>
>>> On Tue, Feb 14, 2017 at 12:07 PM, Chitra R <[hidden email]> wrote:
>>> > Hi,
>>> >    We have planned to implement both string and numeric faceting using
>>> > docvalues field.
>>> >
>>> > For string faceting, we have added pathtraversed dimensions in
>>> > drilldownquery. But for numeric faceting , how and where can we add
>>> > pathtraversed ranges during nextlevel faceted search.?
>>> > And which is the better way to add pathtraversed ranges
>>> > ( ie adding pathtraversed ranges in numericRangeQuery or
>>> > adding pathtraversed ranges in filter).??Or Any other solution.???
>>> >
>>> > Thanks & Regards,
>>> > Chitra
>>> >
>>> >
>>> > Sent from my iPhone
>>> > ---------------------------------------------------------------------
>>> > To unsubscribe, e-mail: [hidden email]
>>> > For additional commands, e-mail: [hidden email]
>>> >
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Numeric Ranges Faceting

Chitra R
Hey,
            I have indexed "author","module_id" fields as
SortedSetDocValuesFacetField and "time", "price","salary" fields as
NumericDocValuesField.

My Category looks like:

*module_id
     -> author
*price

module_id and price are parent categories. After selecting any one of the
facets from module_id, sub-category ie "author" field will be shown.

*Use-case:*

1. I have received path values from user as "module_id:1" and "price:100 TO
500" and also need to perform drillsideways search.

*initializing drilldown query*

DrillDownQuery drillDownQuery = new DrillDownQuery(facetsConfig,
> userGivenSearchQuery);
> drillDownQuery.add("module_id","1");
> drillDownQuery.add("price",NumericRangeQuery.newDoubleRange("price",
> 100.0, 200.0, range.minInclusive, range.maxInclusive));
>

* hits and facets computation*

DrillSideways sideways = new DrillSideways(searcher, facetsConfig,
> docValuesReaderState);
> DrillSideways.DrillSidewaysResult drillResult =
> sideways.search(drillDownQuery, booleanFilter, null, 10, sort, doDocScore,
> doMaxScore);
> int totalHits = drillResult.hits.totalHits();   --> it show accurate total
> hits documents
> List<FacetResult> facetResult = drillResult.facets.getAllDims(10) -->*
> this line throws an exception.*


*Exception*


>

java.lang.IllegalArgumentException: dimension "price" was not indexed

at org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts.
> getTopChildren(SortedSetDocValuesFacetCounts.java:91)

at org.apache.lucene.facet.MultiFacets.getAllDims(MultiFacets.java:74)



Am I did anything wrong???


Kindly post your suggestions.

Thanks,
Chitra



On Fri, Feb 17, 2017 at 9:11 PM, Michael McCandless <
[hidden email]> wrote:

> Hi, how are you instantiating your MultiFacets?  You should be passing
> e.g. a LongRangeFacetCounts instance for your "time" dimension, which
> should prevent that exception.
>
> For DrillSideways, I think you must subclass, and then override
> buildFacetResult to compute your range facets, because that class
> assumes it's either indexed facets or sorted set doc values facets.
>
> Mike McCandless
>
> http://blog.mikemccandless.com
>
>
> On Fri, Feb 17, 2017 at 9:14 AM, Chitra R <[hidden email]> wrote:
> > Any suggestions???? Kindly help me to move forward.
> >
> > Regards,
> > Chitra
> >
> > On Wed, Feb 15, 2017 at 9:23 PM, Chitra R <[hidden email]> wrote:
> >>
> >> Hi,
> >>               Thanks for the suggestion. But in the case of drill
> sideways
> >> search, retrieving allDimensions (using Facets.getAllDimension()) threw
> an
> >> exception which is shown below...
> >>
> >> 1. While opening DocValuesReaderState, global ordinals and ordinals
> Range
> >> map will be computed for '$facets' field only.
> >> 2. NumericDocValuesField never indexes under '$ facets' so ordinal
> >> RangeMap will be null for the numeric field ie 'time'.
> >>
> >>>> java.lang.IllegalArgumentException: dimension "time" was not indexed
> >>>>
> >>>> at
> >>>> org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts.
> getTopChildren(SortedSetDocValuesFacetCounts.java:91)
> >>>>
> >>>> t org.apache.lucene.facet.MultiFacets.getAllDims(MultiFacets.java:74)
> >>
> >>
> >> In my use case,
> >>
> >> Both string pathTraversed and Numeric PathTraversedRanges will occur.
> >> And both faceted search and drill sideways search will be used.
> >>
> >> So how can I add path-traversed numericRanges?
> >>
> >> Am I missed anything?
> >>
> >>
> >> Kindly post your suggestions.
> >>
> >>
> >> Regards,
> >> Chitra
> >>
> >> On Wed, Feb 15, 2017 at 3:28 PM, Michael McCandless
> >> <[hidden email]> wrote:
> >>>
> >>> Hi, have a look at the RangeFacetsExample.java under the lucene/demo
> >>> module... it shows how to do this.
> >>>
> >>> Mike McCandless
> >>>
> >>> http://blog.mikemccandless.com
> >>>
> >>>
> >>> On Tue, Feb 14, 2017 at 12:07 PM, Chitra R <[hidden email]>
> wrote:
> >>> > Hi,
> >>> >    We have planned to implement both string and numeric faceting
> using
> >>> > docvalues field.
> >>> >
> >>> > For string faceting, we have added pathtraversed dimensions in
> >>> > drilldownquery. But for numeric faceting , how and where can we add
> >>> > pathtraversed ranges during nextlevel faceted search.?
> >>> > And which is the better way to add pathtraversed ranges
> >>> > ( ie adding pathtraversed ranges in numericRangeQuery or
> >>> > adding pathtraversed ranges in filter).??Or Any other solution.???
> >>> >
> >>> > Thanks & Regards,
> >>> > Chitra
> >>> >
> >>> >
> >>> > Sent from my iPhone
> >>> > ------------------------------------------------------------
> ---------
> >>> > To unsubscribe, e-mail: [hidden email]
> >>> > For additional commands, e-mail: [hidden email]
> >>> >
> >>
> >>
> >
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Numeric Ranges Faceting

Michael McCandless-2
Hi,

I think you are close!  All you need to do is make a subclass of
DrillSideways and override the buildFacetsResults method to do the
range faceting on your numeric dims.

I just pushed an improvement to RangeFacetsExample.java showing how to
do this: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/1e4463e3

Mike McCandless

http://blog.mikemccandless.com


On Fri, Feb 17, 2017 at 11:15 AM, Chitra R <[hidden email]> wrote:

> Hey,
>             I have indexed "author","module_id" fields as
> SortedSetDocValuesFacetField and "time", "price","salary" fields as
> NumericDocValuesField.
>
> My Category looks like:
>
> *module_id
>      -> author
> *price
>
> module_id and price are parent categories. After selecting any one of the
> facets from module_id, sub-category ie "author" field will be shown.
>
> Use-case:
>
> 1. I have received path values from user as "module_id:1" and "price:100 TO
> 500" and also need to perform drillsideways search.
>
> initializing drilldown query
>
>> DrillDownQuery drillDownQuery = new DrillDownQuery(facetsConfig,
>> userGivenSearchQuery);
>> drillDownQuery.add("module_id","1");
>> drillDownQuery.add("price",NumericRangeQuery.newDoubleRange("price",
>> 100.0, 200.0, range.minInclusive, range.maxInclusive));
>
>
>  hits and facets computation
>
>> DrillSideways sideways = new DrillSideways(searcher, facetsConfig,
>> docValuesReaderState);
>> DrillSideways.DrillSidewaysResult drillResult =
>> sideways.search(drillDownQuery, booleanFilter, null, 10, sort, doDocScore,
>> doMaxScore);
>> int totalHits = drillResult.hits.totalHits();   --> it show accurate total
>> hits documents
>> List<FacetResult> facetResult = drillResult.facets.getAllDims(10) --> this
>> line throws an exception.
>
>
> Exception
>
>>
>>
>>
>> java.lang.IllegalArgumentException: dimension "price" was not indexed
>>
>> at
>> org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts.getTopChildren(SortedSetDocValuesFacetCounts.java:91)
>>
>> at org.apache.lucene.facet.MultiFacets.getAllDims(MultiFacets.java:74)
>
>
>
> Am I did anything wrong???
>
>
> Kindly post your suggestions.
>
> Thanks,
> Chitra
>
>
>
> On Fri, Feb 17, 2017 at 9:11 PM, Michael McCandless
> <[hidden email]> wrote:
>>
>> Hi, how are you instantiating your MultiFacets?  You should be passing
>> e.g. a LongRangeFacetCounts instance for your "time" dimension, which
>> should prevent that exception.
>>
>> For DrillSideways, I think you must subclass, and then override
>> buildFacetResult to compute your range facets, because that class
>> assumes it's either indexed facets or sorted set doc values facets.
>>
>> Mike McCandless
>>
>> http://blog.mikemccandless.com
>>
>>
>> On Fri, Feb 17, 2017 at 9:14 AM, Chitra R <[hidden email]> wrote:
>> > Any suggestions???? Kindly help me to move forward.
>> >
>> > Regards,
>> > Chitra
>> >
>> > On Wed, Feb 15, 2017 at 9:23 PM, Chitra R <[hidden email]> wrote:
>> >>
>> >> Hi,
>> >>               Thanks for the suggestion. But in the case of drill
>> >> sideways
>> >> search, retrieving allDimensions (using Facets.getAllDimension()) threw
>> >> an
>> >> exception which is shown below...
>> >>
>> >> 1. While opening DocValuesReaderState, global ordinals and ordinals
>> >> Range
>> >> map will be computed for '$facets' field only.
>> >> 2. NumericDocValuesField never indexes under '$ facets' so ordinal
>> >> RangeMap will be null for the numeric field ie 'time'.
>> >>
>> >>>> java.lang.IllegalArgumentException: dimension "time" was not indexed
>> >>>>
>> >>>> at
>> >>>>
>> >>>> org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts.getTopChildren(SortedSetDocValuesFacetCounts.java:91)
>> >>>>
>> >>>> t org.apache.lucene.facet.MultiFacets.getAllDims(MultiFacets.java:74)
>> >>
>> >>
>> >> In my use case,
>> >>
>> >> Both string pathTraversed and Numeric PathTraversedRanges will occur.
>> >> And both faceted search and drill sideways search will be used.
>> >>
>> >> So how can I add path-traversed numericRanges?
>> >>
>> >> Am I missed anything?
>> >>
>> >>
>> >> Kindly post your suggestions.
>> >>
>> >>
>> >> Regards,
>> >> Chitra
>> >>
>> >> On Wed, Feb 15, 2017 at 3:28 PM, Michael McCandless
>> >> <[hidden email]> wrote:
>> >>>
>> >>> Hi, have a look at the RangeFacetsExample.java under the lucene/demo
>> >>> module... it shows how to do this.
>> >>>
>> >>> Mike McCandless
>> >>>
>> >>> http://blog.mikemccandless.com
>> >>>
>> >>>
>> >>> On Tue, Feb 14, 2017 at 12:07 PM, Chitra R <[hidden email]>
>> >>> wrote:
>> >>> > Hi,
>> >>> >    We have planned to implement both string and numeric faceting
>> >>> > using
>> >>> > docvalues field.
>> >>> >
>> >>> > For string faceting, we have added pathtraversed dimensions in
>> >>> > drilldownquery. But for numeric faceting , how and where can we add
>> >>> > pathtraversed ranges during nextlevel faceted search.?
>> >>> > And which is the better way to add pathtraversed ranges
>> >>> > ( ie adding pathtraversed ranges in numericRangeQuery or
>> >>> > adding pathtraversed ranges in filter).??Or Any other solution.???
>> >>> >
>> >>> > Thanks & Regards,
>> >>> > Chitra
>> >>> >
>> >>> >
>> >>> > Sent from my iPhone
>> >>> >
>> >>> > ---------------------------------------------------------------------
>> >>> > To unsubscribe, e-mail: [hidden email]
>> >>> > For additional commands, e-mail: [hidden email]
>> >>> >
>> >>
>> >>
>> >
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Numeric Ranges Faceting

Chitra R
Hi,

RangeFaceting computation was working fine while adding numeric Ranges in
DrillDownQuery. And this is not my issue.

My question is,

I need to compute string facets (via SortedSetDocValuesFacetCounts) using
drill sideways search by adding numeric Ranges in DrillDownQuery... This
case only throws an exception. Is it possible??


And I know, Drillsideways search retains previous level facets and its
count and it will be achieved by taking dimensions from drilldownQuery. In
my case, "price" is the dimension which was indexed as
numericDocValuesField and added in drilldownQuery. So only it was throwing
an exception when I search through drillsideways search. Am I right or
missed anything?


Kindly help me to solve my issue.

Regards,
Chitra

On Sat, Feb 18, 2017 at 4:29 PM, Michael McCandless <
[hidden email]> wrote:

> Hi,
>
> I think you are close!  All you need to do is make a subclass of
> DrillSideways and override the buildFacetsResults method to do the
> range faceting on your numeric dims.
>
> I just pushed an improvement to RangeFacetsExample.java showing how to
> do this: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/1e4463e3
>
> Mike McCandless
>
> http://blog.mikemccandless.com
>
>
> On Fri, Feb 17, 2017 at 11:15 AM, Chitra R <[hidden email]> wrote:
> > Hey,
> >             I have indexed "author","module_id" fields as
> > SortedSetDocValuesFacetField and "time", "price","salary" fields as
> > NumericDocValuesField.
> >
> > My Category looks like:
> >
> > *module_id
> >      -> author
> > *price
> >
> > module_id and price are parent categories. After selecting any one of the
> > facets from module_id, sub-category ie "author" field will be shown.
> >
> > Use-case:
> >
> > 1. I have received path values from user as "module_id:1" and "price:100
> TO
> > 500" and also need to perform drillsideways search.
> >
> > initializing drilldown query
> >
> >> DrillDownQuery drillDownQuery = new DrillDownQuery(facetsConfig,
> >> userGivenSearchQuery);
> >> drillDownQuery.add("module_id","1");
> >> drillDownQuery.add("price",NumericRangeQuery.newDoubleRange("price",
> >> 100.0, 200.0, range.minInclusive, range.maxInclusive));
> >
> >
> >  hits and facets computation
> >
> >> DrillSideways sideways = new DrillSideways(searcher, facetsConfig,
> >> docValuesReaderState);
> >> DrillSideways.DrillSidewaysResult drillResult =
> >> sideways.search(drillDownQuery, booleanFilter, null, 10, sort,
> doDocScore,
> >> doMaxScore);
> >> int totalHits = drillResult.hits.totalHits();   --> it show accurate
> total
> >> hits documents
> >> List<FacetResult> facetResult = drillResult.facets.getAllDims(10) -->
> this
> >> line throws an exception.
> >
> >
> > Exception
> >
> >>
> >>
> >>
> >> java.lang.IllegalArgumentException: dimension "price" was not indexed
> >>
> >> at
> >> org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts.
> getTopChildren(SortedSetDocValuesFacetCounts.java:91)
> >>
> >> at org.apache.lucene.facet.MultiFacets.getAllDims(MultiFacets.java:74)
> >
> >
> >
> > Am I did anything wrong???
> >
> >
> > Kindly post your suggestions.
> >
> > Thanks,
> > Chitra
> >
> >
> >
> > On Fri, Feb 17, 2017 at 9:11 PM, Michael McCandless
> > <[hidden email]> wrote:
> >>
> >> Hi, how are you instantiating your MultiFacets?  You should be passing
> >> e.g. a LongRangeFacetCounts instance for your "time" dimension, which
> >> should prevent that exception.
> >>
> >> For DrillSideways, I think you must subclass, and then override
> >> buildFacetResult to compute your range facets, because that class
> >> assumes it's either indexed facets or sorted set doc values facets.
> >>
> >> Mike McCandless
> >>
> >> http://blog.mikemccandless.com
> >>
> >>
> >> On Fri, Feb 17, 2017 at 9:14 AM, Chitra R <[hidden email]>
> wrote:
> >> > Any suggestions???? Kindly help me to move forward.
> >> >
> >> > Regards,
> >> > Chitra
> >> >
> >> > On Wed, Feb 15, 2017 at 9:23 PM, Chitra R <[hidden email]>
> wrote:
> >> >>
> >> >> Hi,
> >> >>               Thanks for the suggestion. But in the case of drill
> >> >> sideways
> >> >> search, retrieving allDimensions (using Facets.getAllDimension())
> threw
> >> >> an
> >> >> exception which is shown below...
> >> >>
> >> >> 1. While opening DocValuesReaderState, global ordinals and ordinals
> >> >> Range
> >> >> map will be computed for '$facets' field only.
> >> >> 2. NumericDocValuesField never indexes under '$ facets' so ordinal
> >> >> RangeMap will be null for the numeric field ie 'time'.
> >> >>
> >> >>>> java.lang.IllegalArgumentException: dimension "time" was not
> indexed
> >> >>>>
> >> >>>> at
> >> >>>>
> >> >>>> org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts.
> getTopChildren(SortedSetDocValuesFacetCounts.java:91)
> >> >>>>
> >> >>>> t org.apache.lucene.facet.MultiFacets.getAllDims(
> MultiFacets.java:74)
> >> >>
> >> >>
> >> >> In my use case,
> >> >>
> >> >> Both string pathTraversed and Numeric PathTraversedRanges will occur.
> >> >> And both faceted search and drill sideways search will be used.
> >> >>
> >> >> So how can I add path-traversed numericRanges?
> >> >>
> >> >> Am I missed anything?
> >> >>
> >> >>
> >> >> Kindly post your suggestions.
> >> >>
> >> >>
> >> >> Regards,
> >> >> Chitra
> >> >>
> >> >> On Wed, Feb 15, 2017 at 3:28 PM, Michael McCandless
> >> >> <[hidden email]> wrote:
> >> >>>
> >> >>> Hi, have a look at the RangeFacetsExample.java under the lucene/demo
> >> >>> module... it shows how to do this.
> >> >>>
> >> >>> Mike McCandless
> >> >>>
> >> >>> http://blog.mikemccandless.com
> >> >>>
> >> >>>
> >> >>> On Tue, Feb 14, 2017 at 12:07 PM, Chitra R <[hidden email]>
> >> >>> wrote:
> >> >>> > Hi,
> >> >>> >    We have planned to implement both string and numeric faceting
> >> >>> > using
> >> >>> > docvalues field.
> >> >>> >
> >> >>> > For string faceting, we have added pathtraversed dimensions in
> >> >>> > drilldownquery. But for numeric faceting , how and where can we
> add
> >> >>> > pathtraversed ranges during nextlevel faceted search.?
> >> >>> > And which is the better way to add pathtraversed ranges
> >> >>> > ( ie adding pathtraversed ranges in numericRangeQuery or
> >> >>> > adding pathtraversed ranges in filter).??Or Any other solution.???
> >> >>> >
> >> >>> > Thanks & Regards,
> >> >>> > Chitra
> >> >>> >
> >> >>> >
> >> >>> > Sent from my iPhone
> >> >>> >
> >> >>> > ------------------------------------------------------------
> ---------
> >> >>> > To unsubscribe, e-mail: [hidden email]
> >> >>> > For additional commands, e-mail: [hidden email]
> >> >>> >
> >> >>
> >> >>
> >> >
> >
> >
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Numeric Ranges Faceting

Michael McCandless-2
You'll need to make your own buildFacetResults method in your
DrillSideways subclass, and inside there you compute the facet counts
for each dim using the implementation that dim used (taxonomy, sorted
set, or range).  The TestRangeFacetCounts shows another example of
this.

Mike McCandless

http://blog.mikemccandless.com


On Sat, Feb 18, 2017 at 6:33 AM, Chitra R <[hidden email]> wrote:

> Hi,
>
> RangeFaceting computation was working fine while adding numeric Ranges in
> DrillDownQuery. And this is not my issue.
>
> My question is,
>
> I need to compute string facets (via SortedSetDocValuesFacetCounts) using
> drill sideways search by adding numeric Ranges in DrillDownQuery... This
> case only throws an exception. Is it possible??
>
>
> And I know, Drillsideways search retains previous level facets and its count
> and it will be achieved by taking dimensions from drilldownQuery. In my
> case, "price" is the dimension which was indexed as numericDocValuesField
> and added in drilldownQuery. So only it was throwing an exception when I
> search through drillsideways search. Am I right or missed anything?
>
>
> Kindly help me to solve my issue.
>
> Regards,
> Chitra
>
> On Sat, Feb 18, 2017 at 4:29 PM, Michael McCandless
> <[hidden email]> wrote:
>>
>> Hi,
>>
>> I think you are close!  All you need to do is make a subclass of
>> DrillSideways and override the buildFacetsResults method to do the
>> range faceting on your numeric dims.
>>
>> I just pushed an improvement to RangeFacetsExample.java showing how to
>> do this: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/1e4463e3
>>
>> Mike McCandless
>>
>> http://blog.mikemccandless.com
>>
>>
>> On Fri, Feb 17, 2017 at 11:15 AM, Chitra R <[hidden email]> wrote:
>> > Hey,
>> >             I have indexed "author","module_id" fields as
>> > SortedSetDocValuesFacetField and "time", "price","salary" fields as
>> > NumericDocValuesField.
>> >
>> > My Category looks like:
>> >
>> > *module_id
>> >      -> author
>> > *price
>> >
>> > module_id and price are parent categories. After selecting any one of
>> > the
>> > facets from module_id, sub-category ie "author" field will be shown.
>> >
>> > Use-case:
>> >
>> > 1. I have received path values from user as "module_id:1" and "price:100
>> > TO
>> > 500" and also need to perform drillsideways search.
>> >
>> > initializing drilldown query
>> >
>> >> DrillDownQuery drillDownQuery = new DrillDownQuery(facetsConfig,
>> >> userGivenSearchQuery);
>> >> drillDownQuery.add("module_id","1");
>> >> drillDownQuery.add("price",NumericRangeQuery.newDoubleRange("price",
>> >> 100.0, 200.0, range.minInclusive, range.maxInclusive));
>> >
>> >
>> >  hits and facets computation
>> >
>> >> DrillSideways sideways = new DrillSideways(searcher, facetsConfig,
>> >> docValuesReaderState);
>> >> DrillSideways.DrillSidewaysResult drillResult =
>> >> sideways.search(drillDownQuery, booleanFilter, null, 10, sort,
>> >> doDocScore,
>> >> doMaxScore);
>> >> int totalHits = drillResult.hits.totalHits();   --> it show accurate
>> >> total
>> >> hits documents
>> >> List<FacetResult> facetResult = drillResult.facets.getAllDims(10) -->
>> >> this
>> >> line throws an exception.
>> >
>> >
>> > Exception
>> >
>> >>
>> >>
>> >>
>> >> java.lang.IllegalArgumentException: dimension "price" was not indexed
>> >>
>> >> at
>> >>
>> >> org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts.getTopChildren(SortedSetDocValuesFacetCounts.java:91)
>> >>
>> >> at org.apache.lucene.facet.MultiFacets.getAllDims(MultiFacets.java:74)
>> >
>> >
>> >
>> > Am I did anything wrong???
>> >
>> >
>> > Kindly post your suggestions.
>> >
>> > Thanks,
>> > Chitra
>> >
>> >
>> >
>> > On Fri, Feb 17, 2017 at 9:11 PM, Michael McCandless
>> > <[hidden email]> wrote:
>> >>
>> >> Hi, how are you instantiating your MultiFacets?  You should be passing
>> >> e.g. a LongRangeFacetCounts instance for your "time" dimension, which
>> >> should prevent that exception.
>> >>
>> >> For DrillSideways, I think you must subclass, and then override
>> >> buildFacetResult to compute your range facets, because that class
>> >> assumes it's either indexed facets or sorted set doc values facets.
>> >>
>> >> Mike McCandless
>> >>
>> >> http://blog.mikemccandless.com
>> >>
>> >>
>> >> On Fri, Feb 17, 2017 at 9:14 AM, Chitra R <[hidden email]>
>> >> wrote:
>> >> > Any suggestions???? Kindly help me to move forward.
>> >> >
>> >> > Regards,
>> >> > Chitra
>> >> >
>> >> > On Wed, Feb 15, 2017 at 9:23 PM, Chitra R <[hidden email]>
>> >> > wrote:
>> >> >>
>> >> >> Hi,
>> >> >>               Thanks for the suggestion. But in the case of drill
>> >> >> sideways
>> >> >> search, retrieving allDimensions (using Facets.getAllDimension())
>> >> >> threw
>> >> >> an
>> >> >> exception which is shown below...
>> >> >>
>> >> >> 1. While opening DocValuesReaderState, global ordinals and ordinals
>> >> >> Range
>> >> >> map will be computed for '$facets' field only.
>> >> >> 2. NumericDocValuesField never indexes under '$ facets' so ordinal
>> >> >> RangeMap will be null for the numeric field ie 'time'.
>> >> >>
>> >> >>>> java.lang.IllegalArgumentException: dimension "time" was not
>> >> >>>> indexed
>> >> >>>>
>> >> >>>> at
>> >> >>>>
>> >> >>>>
>> >> >>>> org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts.getTopChildren(SortedSetDocValuesFacetCounts.java:91)
>> >> >>>>
>> >> >>>> t
>> >> >>>> org.apache.lucene.facet.MultiFacets.getAllDims(MultiFacets.java:74)
>> >> >>
>> >> >>
>> >> >> In my use case,
>> >> >>
>> >> >> Both string pathTraversed and Numeric PathTraversedRanges will
>> >> >> occur.
>> >> >> And both faceted search and drill sideways search will be used.
>> >> >>
>> >> >> So how can I add path-traversed numericRanges?
>> >> >>
>> >> >> Am I missed anything?
>> >> >>
>> >> >>
>> >> >> Kindly post your suggestions.
>> >> >>
>> >> >>
>> >> >> Regards,
>> >> >> Chitra
>> >> >>
>> >> >> On Wed, Feb 15, 2017 at 3:28 PM, Michael McCandless
>> >> >> <[hidden email]> wrote:
>> >> >>>
>> >> >>> Hi, have a look at the RangeFacetsExample.java under the
>> >> >>> lucene/demo
>> >> >>> module... it shows how to do this.
>> >> >>>
>> >> >>> Mike McCandless
>> >> >>>
>> >> >>> http://blog.mikemccandless.com
>> >> >>>
>> >> >>>
>> >> >>> On Tue, Feb 14, 2017 at 12:07 PM, Chitra R <[hidden email]>
>> >> >>> wrote:
>> >> >>> > Hi,
>> >> >>> >    We have planned to implement both string and numeric faceting
>> >> >>> > using
>> >> >>> > docvalues field.
>> >> >>> >
>> >> >>> > For string faceting, we have added pathtraversed dimensions in
>> >> >>> > drilldownquery. But for numeric faceting , how and where can we
>> >> >>> > add
>> >> >>> > pathtraversed ranges during nextlevel faceted search.?
>> >> >>> > And which is the better way to add pathtraversed ranges
>> >> >>> > ( ie adding pathtraversed ranges in numericRangeQuery or
>> >> >>> > adding pathtraversed ranges in filter).??Or Any other
>> >> >>> > solution.???
>> >> >>> >
>> >> >>> > Thanks & Regards,
>> >> >>> > Chitra
>> >> >>> >
>> >> >>> >
>> >> >>> > Sent from my iPhone
>> >> >>> >
>> >> >>> >
>> >> >>> > ---------------------------------------------------------------------
>> >> >>> > To unsubscribe, e-mail: [hidden email]
>> >> >>> > For additional commands, e-mail: [hidden email]
>> >> >>> >
>> >> >>
>> >> >>
>> >> >
>> >
>> >
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Numeric Ranges Faceting

Chitra R
Hey, I got it. Thank you so much.

On Sat, Feb 18, 2017 at 5:33 PM, Michael McCandless <
[hidden email]> wrote:

> You'll need to make your own buildFacetResults method in your
> DrillSideways subclass, and inside there you compute the facet counts
> for each dim using the implementation that dim used (taxonomy, sorted
> set, or range).  The TestRangeFacetCounts shows another example of
> this.
>
> Mike McCandless
>
> http://blog.mikemccandless.com
>
>
> On Sat, Feb 18, 2017 at 6:33 AM, Chitra R <[hidden email]> wrote:
> > Hi,
> >
> > RangeFaceting computation was working fine while adding numeric Ranges in
> > DrillDownQuery. And this is not my issue.
> >
> > My question is,
> >
> > I need to compute string facets (via SortedSetDocValuesFacetCounts) using
> > drill sideways search by adding numeric Ranges in DrillDownQuery... This
> > case only throws an exception. Is it possible??
> >
> >
> > And I know, Drillsideways search retains previous level facets and its
> count
> > and it will be achieved by taking dimensions from drilldownQuery. In my
> > case, "price" is the dimension which was indexed as numericDocValuesField
> > and added in drilldownQuery. So only it was throwing an exception when I
> > search through drillsideways search. Am I right or missed anything?
> >
> >
> > Kindly help me to solve my issue.
> >
> > Regards,
> > Chitra
> >
> > On Sat, Feb 18, 2017 at 4:29 PM, Michael McCandless
> > <[hidden email]> wrote:
> >>
> >> Hi,
> >>
> >> I think you are close!  All you need to do is make a subclass of
> >> DrillSideways and override the buildFacetsResults method to do the
> >> range faceting on your numeric dims.
> >>
> >> I just pushed an improvement to RangeFacetsExample.java showing how to
> >> do this: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/
> 1e4463e3
> >>
> >> Mike McCandless
> >>
> >> http://blog.mikemccandless.com
> >>
> >>
> >> On Fri, Feb 17, 2017 at 11:15 AM, Chitra R <[hidden email]>
> wrote:
> >> > Hey,
> >> >             I have indexed "author","module_id" fields as
> >> > SortedSetDocValuesFacetField and "time", "price","salary" fields as
> >> > NumericDocValuesField.
> >> >
> >> > My Category looks like:
> >> >
> >> > *module_id
> >> >      -> author
> >> > *price
> >> >
> >> > module_id and price are parent categories. After selecting any one of
> >> > the
> >> > facets from module_id, sub-category ie "author" field will be shown.
> >> >
> >> > Use-case:
> >> >
> >> > 1. I have received path values from user as "module_id:1" and
> "price:100
> >> > TO
> >> > 500" and also need to perform drillsideways search.
> >> >
> >> > initializing drilldown query
> >> >
> >> >> DrillDownQuery drillDownQuery = new DrillDownQuery(facetsConfig,
> >> >> userGivenSearchQuery);
> >> >> drillDownQuery.add("module_id","1");
> >> >> drillDownQuery.add("price",NumericRangeQuery.newDoubleRange("price",
> >> >> 100.0, 200.0, range.minInclusive, range.maxInclusive));
> >> >
> >> >
> >> >  hits and facets computation
> >> >
> >> >> DrillSideways sideways = new DrillSideways(searcher, facetsConfig,
> >> >> docValuesReaderState);
> >> >> DrillSideways.DrillSidewaysResult drillResult =
> >> >> sideways.search(drillDownQuery, booleanFilter, null, 10, sort,
> >> >> doDocScore,
> >> >> doMaxScore);
> >> >> int totalHits = drillResult.hits.totalHits();   --> it show accurate
> >> >> total
> >> >> hits documents
> >> >> List<FacetResult> facetResult = drillResult.facets.getAllDims(10)
> -->
> >> >> this
> >> >> line throws an exception.
> >> >
> >> >
> >> > Exception
> >> >
> >> >>
> >> >>
> >> >>
> >> >> java.lang.IllegalArgumentException: dimension "price" was not
> indexed
> >> >>
> >> >> at
> >> >>
> >> >> org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts.
> getTopChildren(SortedSetDocValuesFacetCounts.java:91)
> >> >>
> >> >> at org.apache.lucene.facet.MultiFacets.getAllDims(
> MultiFacets.java:74)
> >> >
> >> >
> >> >
> >> > Am I did anything wrong???
> >> >
> >> >
> >> > Kindly post your suggestions.
> >> >
> >> > Thanks,
> >> > Chitra
> >> >
> >> >
> >> >
> >> > On Fri, Feb 17, 2017 at 9:11 PM, Michael McCandless
> >> > <[hidden email]> wrote:
> >> >>
> >> >> Hi, how are you instantiating your MultiFacets?  You should be
> passing
> >> >> e.g. a LongRangeFacetCounts instance for your "time" dimension, which
> >> >> should prevent that exception.
> >> >>
> >> >> For DrillSideways, I think you must subclass, and then override
> >> >> buildFacetResult to compute your range facets, because that class
> >> >> assumes it's either indexed facets or sorted set doc values facets.
> >> >>
> >> >> Mike McCandless
> >> >>
> >> >> http://blog.mikemccandless.com
> >> >>
> >> >>
> >> >> On Fri, Feb 17, 2017 at 9:14 AM, Chitra R <[hidden email]>
> >> >> wrote:
> >> >> > Any suggestions???? Kindly help me to move forward.
> >> >> >
> >> >> > Regards,
> >> >> > Chitra
> >> >> >
> >> >> > On Wed, Feb 15, 2017 at 9:23 PM, Chitra R <[hidden email]>
> >> >> > wrote:
> >> >> >>
> >> >> >> Hi,
> >> >> >>               Thanks for the suggestion. But in the case of drill
> >> >> >> sideways
> >> >> >> search, retrieving allDimensions (using Facets.getAllDimension())
> >> >> >> threw
> >> >> >> an
> >> >> >> exception which is shown below...
> >> >> >>
> >> >> >> 1. While opening DocValuesReaderState, global ordinals and
> ordinals
> >> >> >> Range
> >> >> >> map will be computed for '$facets' field only.
> >> >> >> 2. NumericDocValuesField never indexes under '$ facets' so ordinal
> >> >> >> RangeMap will be null for the numeric field ie 'time'.
> >> >> >>
> >> >> >>>> java.lang.IllegalArgumentException: dimension "time" was not
> >> >> >>>> indexed
> >> >> >>>>
> >> >> >>>> at
> >> >> >>>>
> >> >> >>>>
> >> >> >>>> org.apache.lucene.facet.sortedset.
> SortedSetDocValuesFacetCounts.getTopChildren(
> SortedSetDocValuesFacetCounts.java:91)
> >> >> >>>>
> >> >> >>>> t
> >> >> >>>> org.apache.lucene.facet.MultiFacets.getAllDims(
> MultiFacets.java:74)
> >> >> >>
> >> >> >>
> >> >> >> In my use case,
> >> >> >>
> >> >> >> Both string pathTraversed and Numeric PathTraversedRanges will
> >> >> >> occur.
> >> >> >> And both faceted search and drill sideways search will be used.
> >> >> >>
> >> >> >> So how can I add path-traversed numericRanges?
> >> >> >>
> >> >> >> Am I missed anything?
> >> >> >>
> >> >> >>
> >> >> >> Kindly post your suggestions.
> >> >> >>
> >> >> >>
> >> >> >> Regards,
> >> >> >> Chitra
> >> >> >>
> >> >> >> On Wed, Feb 15, 2017 at 3:28 PM, Michael McCandless
> >> >> >> <[hidden email]> wrote:
> >> >> >>>
> >> >> >>> Hi, have a look at the RangeFacetsExample.java under the
> >> >> >>> lucene/demo
> >> >> >>> module... it shows how to do this.
> >> >> >>>
> >> >> >>> Mike McCandless
> >> >> >>>
> >> >> >>> http://blog.mikemccandless.com
> >> >> >>>
> >> >> >>>
> >> >> >>> On Tue, Feb 14, 2017 at 12:07 PM, Chitra R <
> [hidden email]>
> >> >> >>> wrote:
> >> >> >>> > Hi,
> >> >> >>> >    We have planned to implement both string and numeric
> faceting
> >> >> >>> > using
> >> >> >>> > docvalues field.
> >> >> >>> >
> >> >> >>> > For string faceting, we have added pathtraversed dimensions in
> >> >> >>> > drilldownquery. But for numeric faceting , how and where can we
> >> >> >>> > add
> >> >> >>> > pathtraversed ranges during nextlevel faceted search.?
> >> >> >>> > And which is the better way to add pathtraversed ranges
> >> >> >>> > ( ie adding pathtraversed ranges in numericRangeQuery or
> >> >> >>> > adding pathtraversed ranges in filter).??Or Any other
> >> >> >>> > solution.???
> >> >> >>> >
> >> >> >>> > Thanks & Regards,
> >> >> >>> > Chitra
> >> >> >>> >
> >> >> >>> >
> >> >> >>> > Sent from my iPhone
> >> >> >>> >
> >> >> >>> >
> >> >> >>> > ------------------------------------------------------------
> ---------
> >> >> >>> > To unsubscribe, e-mail: java-user-unsubscribe@lucene.
> apache.org
> >> >> >>> > For additional commands, e-mail: [hidden email].
> org
> >> >> >>> >
> >> >> >>
> >> >> >>
> >> >> >
> >> >
> >> >
> >
> >
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Numeric Ranges Faceting

Michael McCandless-2
Great!  Thank you for bringing closure.

Mike McCandless

http://blog.mikemccandless.com


On Mon, Feb 20, 2017 at 3:41 AM, Chitra R <[hidden email]> wrote:

> Hey, I got it. Thank you so much.
>
> On Sat, Feb 18, 2017 at 5:33 PM, Michael McCandless
> <[hidden email]> wrote:
>>
>> You'll need to make your own buildFacetResults method in your
>> DrillSideways subclass, and inside there you compute the facet counts
>> for each dim using the implementation that dim used (taxonomy, sorted
>> set, or range).  The TestRangeFacetCounts shows another example of
>> this.
>>
>> Mike McCandless
>>
>> http://blog.mikemccandless.com
>>
>>
>> On Sat, Feb 18, 2017 at 6:33 AM, Chitra R <[hidden email]> wrote:
>> > Hi,
>> >
>> > RangeFaceting computation was working fine while adding numeric Ranges
>> > in
>> > DrillDownQuery. And this is not my issue.
>> >
>> > My question is,
>> >
>> > I need to compute string facets (via SortedSetDocValuesFacetCounts)
>> > using
>> > drill sideways search by adding numeric Ranges in DrillDownQuery... This
>> > case only throws an exception. Is it possible??
>> >
>> >
>> > And I know, Drillsideways search retains previous level facets and its
>> > count
>> > and it will be achieved by taking dimensions from drilldownQuery. In my
>> > case, "price" is the dimension which was indexed as
>> > numericDocValuesField
>> > and added in drilldownQuery. So only it was throwing an exception when I
>> > search through drillsideways search. Am I right or missed anything?
>> >
>> >
>> > Kindly help me to solve my issue.
>> >
>> > Regards,
>> > Chitra
>> >
>> > On Sat, Feb 18, 2017 at 4:29 PM, Michael McCandless
>> > <[hidden email]> wrote:
>> >>
>> >> Hi,
>> >>
>> >> I think you are close!  All you need to do is make a subclass of
>> >> DrillSideways and override the buildFacetsResults method to do the
>> >> range faceting on your numeric dims.
>> >>
>> >> I just pushed an improvement to RangeFacetsExample.java showing how to
>> >> do this:
>> >> http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/1e4463e3
>> >>
>> >> Mike McCandless
>> >>
>> >> http://blog.mikemccandless.com
>> >>
>> >>
>> >> On Fri, Feb 17, 2017 at 11:15 AM, Chitra R <[hidden email]>
>> >> wrote:
>> >> > Hey,
>> >> >             I have indexed "author","module_id" fields as
>> >> > SortedSetDocValuesFacetField and "time", "price","salary" fields as
>> >> > NumericDocValuesField.
>> >> >
>> >> > My Category looks like:
>> >> >
>> >> > *module_id
>> >> >      -> author
>> >> > *price
>> >> >
>> >> > module_id and price are parent categories. After selecting any one of
>> >> > the
>> >> > facets from module_id, sub-category ie "author" field will be shown.
>> >> >
>> >> > Use-case:
>> >> >
>> >> > 1. I have received path values from user as "module_id:1" and
>> >> > "price:100
>> >> > TO
>> >> > 500" and also need to perform drillsideways search.
>> >> >
>> >> > initializing drilldown query
>> >> >
>> >> >> DrillDownQuery drillDownQuery = new DrillDownQuery(facetsConfig,
>> >> >> userGivenSearchQuery);
>> >> >> drillDownQuery.add("module_id","1");
>> >> >> drillDownQuery.add("price",NumericRangeQuery.newDoubleRange("price",
>> >> >> 100.0, 200.0, range.minInclusive, range.maxInclusive));
>> >> >
>> >> >
>> >> >  hits and facets computation
>> >> >
>> >> >> DrillSideways sideways = new DrillSideways(searcher, facetsConfig,
>> >> >> docValuesReaderState);
>> >> >> DrillSideways.DrillSidewaysResult drillResult =
>> >> >> sideways.search(drillDownQuery, booleanFilter, null, 10, sort,
>> >> >> doDocScore,
>> >> >> doMaxScore);
>> >> >> int totalHits = drillResult.hits.totalHits();   --> it show accurate
>> >> >> total
>> >> >> hits documents
>> >> >> List<FacetResult> facetResult = drillResult.facets.getAllDims(10)
>> >> >> -->
>> >> >> this
>> >> >> line throws an exception.
>> >> >
>> >> >
>> >> > Exception
>> >> >
>> >> >>
>> >> >>
>> >> >>
>> >> >> java.lang.IllegalArgumentException: dimension "price" was not
>> >> >> indexed
>> >> >>
>> >> >> at
>> >> >>
>> >> >>
>> >> >> org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts.getTopChildren(SortedSetDocValuesFacetCounts.java:91)
>> >> >>
>> >> >> at
>> >> >> org.apache.lucene.facet.MultiFacets.getAllDims(MultiFacets.java:74)
>> >> >
>> >> >
>> >> >
>> >> > Am I did anything wrong???
>> >> >
>> >> >
>> >> > Kindly post your suggestions.
>> >> >
>> >> > Thanks,
>> >> > Chitra
>> >> >
>> >> >
>> >> >
>> >> > On Fri, Feb 17, 2017 at 9:11 PM, Michael McCandless
>> >> > <[hidden email]> wrote:
>> >> >>
>> >> >> Hi, how are you instantiating your MultiFacets?  You should be
>> >> >> passing
>> >> >> e.g. a LongRangeFacetCounts instance for your "time" dimension,
>> >> >> which
>> >> >> should prevent that exception.
>> >> >>
>> >> >> For DrillSideways, I think you must subclass, and then override
>> >> >> buildFacetResult to compute your range facets, because that class
>> >> >> assumes it's either indexed facets or sorted set doc values facets.
>> >> >>
>> >> >> Mike McCandless
>> >> >>
>> >> >> http://blog.mikemccandless.com
>> >> >>
>> >> >>
>> >> >> On Fri, Feb 17, 2017 at 9:14 AM, Chitra R <[hidden email]>
>> >> >> wrote:
>> >> >> > Any suggestions???? Kindly help me to move forward.
>> >> >> >
>> >> >> > Regards,
>> >> >> > Chitra
>> >> >> >
>> >> >> > On Wed, Feb 15, 2017 at 9:23 PM, Chitra R <[hidden email]>
>> >> >> > wrote:
>> >> >> >>
>> >> >> >> Hi,
>> >> >> >>               Thanks for the suggestion. But in the case of drill
>> >> >> >> sideways
>> >> >> >> search, retrieving allDimensions (using Facets.getAllDimension())
>> >> >> >> threw
>> >> >> >> an
>> >> >> >> exception which is shown below...
>> >> >> >>
>> >> >> >> 1. While opening DocValuesReaderState, global ordinals and
>> >> >> >> ordinals
>> >> >> >> Range
>> >> >> >> map will be computed for '$facets' field only.
>> >> >> >> 2. NumericDocValuesField never indexes under '$ facets' so
>> >> >> >> ordinal
>> >> >> >> RangeMap will be null for the numeric field ie 'time'.
>> >> >> >>
>> >> >> >>>> java.lang.IllegalArgumentException: dimension "time" was not
>> >> >> >>>> indexed
>> >> >> >>>>
>> >> >> >>>> at
>> >> >> >>>>
>> >> >> >>>>
>> >> >> >>>>
>> >> >> >>>> org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts.getTopChildren(SortedSetDocValuesFacetCounts.java:91)
>> >> >> >>>>
>> >> >> >>>> t
>> >> >> >>>>
>> >> >> >>>> org.apache.lucene.facet.MultiFacets.getAllDims(MultiFacets.java:74)
>> >> >> >>
>> >> >> >>
>> >> >> >> In my use case,
>> >> >> >>
>> >> >> >> Both string pathTraversed and Numeric PathTraversedRanges will
>> >> >> >> occur.
>> >> >> >> And both faceted search and drill sideways search will be used.
>> >> >> >>
>> >> >> >> So how can I add path-traversed numericRanges?
>> >> >> >>
>> >> >> >> Am I missed anything?
>> >> >> >>
>> >> >> >>
>> >> >> >> Kindly post your suggestions.
>> >> >> >>
>> >> >> >>
>> >> >> >> Regards,
>> >> >> >> Chitra
>> >> >> >>
>> >> >> >> On Wed, Feb 15, 2017 at 3:28 PM, Michael McCandless
>> >> >> >> <[hidden email]> wrote:
>> >> >> >>>
>> >> >> >>> Hi, have a look at the RangeFacetsExample.java under the
>> >> >> >>> lucene/demo
>> >> >> >>> module... it shows how to do this.
>> >> >> >>>
>> >> >> >>> Mike McCandless
>> >> >> >>>
>> >> >> >>> http://blog.mikemccandless.com
>> >> >> >>>
>> >> >> >>>
>> >> >> >>> On Tue, Feb 14, 2017 at 12:07 PM, Chitra R
>> >> >> >>> <[hidden email]>
>> >> >> >>> wrote:
>> >> >> >>> > Hi,
>> >> >> >>> >    We have planned to implement both string and numeric
>> >> >> >>> > faceting
>> >> >> >>> > using
>> >> >> >>> > docvalues field.
>> >> >> >>> >
>> >> >> >>> > For string faceting, we have added pathtraversed dimensions in
>> >> >> >>> > drilldownquery. But for numeric faceting , how and where can
>> >> >> >>> > we
>> >> >> >>> > add
>> >> >> >>> > pathtraversed ranges during nextlevel faceted search.?
>> >> >> >>> > And which is the better way to add pathtraversed ranges
>> >> >> >>> > ( ie adding pathtraversed ranges in numericRangeQuery or
>> >> >> >>> > adding pathtraversed ranges in filter).??Or Any other
>> >> >> >>> > solution.???
>> >> >> >>> >
>> >> >> >>> > Thanks & Regards,
>> >> >> >>> > Chitra
>> >> >> >>> >
>> >> >> >>> >
>> >> >> >>> > Sent from my iPhone
>> >> >> >>> >
>> >> >> >>> >
>> >> >> >>> >
>> >> >> >>> > ---------------------------------------------------------------------
>> >> >> >>> > To unsubscribe, e-mail:
>> >> >> >>> > [hidden email]
>> >> >> >>> > For additional commands, e-mail:
>> >> >> >>> > [hidden email]
>> >> >> >>> >
>> >> >> >>
>> >> >> >>
>> >> >> >
>> >> >
>> >> >
>> >
>> >
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Loading...