You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by yauza <ag...@gmail.com> on 2017/02/02 14:51:11 UTC

Solr 6 Facet range query over streaming API

While migrating from Solr legacy faceting to Solr streaming API, how to
implement the below parameters:

&facet = true
&facet.range = {!key=age_ranges}age
&f.age.facet.range.start = 0
&f.age.facet.range.end = 100
&f.age.facet.range.gap = 10
&facet.range = {!key=price_ranges}price
&f.price.facet.range.start = 0
&f.price.facet.range.end = 1000
&f.price.facet.range.gap = 50
&facet.field = a_field
&facet.minCount = 1


How can I implement these parameters using the new facet streaming with
parallel functions. I understand rollup() functionality has to be used.But
the documentation is limited and I am not able to understand the underlying
functionality. Can someone help me with this?

Ref Sample Query being currently used:

q=(score:[*+TO+*])+AND+(field:378/content)+AND+(crawl_date:[2015-01-01T18:30:00.000Z+TO+2017-02-01T18:30:00.000Z])
&facet.range=score&facet.range=project_score&facet.range=publish_date&f.score.facet.range.start=0
&f.score.facet.range.end=1000&f.score.facet.range.gap=10&facet=true&f.project_score.facet.range.start=0.0
&f.project_score.facet.range.end=1.0&f.project_score.facet.range.gap=0.01&f.publish_date.facet.range.start=1970-01-01T00:00:00Z
&f.publish_date.facet.range.end=2017-02-01T14:09:26.763Z&f.publish_date.facet.range.gap=%2B1MONTH&rows=0&facet.field=project_score
&facet.field={!key%3D378+facet.prefix%3D378/content}field&facet.field=Tags&facet.field=patent_publication
&facet.field=score&facet.limit=1000&facet.mincount=1




--
View this message in context: http://lucene.472066.n3.nabble.com/Solr-6-Facet-range-query-over-streaming-API-tp4318477.html
Sent from the Solr - User mailing list archive at Nabble.com.

Re: Solr 6 Facet range query over streaming API

Posted by Joel Bernstein <jo...@gmail.com>.
Currently you would have to supply some custom Streaming Expressions to do
the kind of range faceting you are doing above.

There are two aggregation Streaming Expressions currently:

rollup: Does a MapReduce rollup over buckets. This means all tuples
matching a query are sorted and partitioned across worker nodes and then
rolled up. This is good for exact facet counts on very high cardinality
fields. But it is much slower then traditional faceting on low and moderate
cardinality fields.

facet: Pushes the aggregations down into Solr using the JSON facet API.

Both of these currently support simple aggregations over buckets, but not
the kind of automatic date range faceting you're currently using.

Aggregations are going to be getting more attention in Streaming
Expressions soon, to support additional functionality Parallel SQL.





Joel Bernstein
http://joelsolr.blogspot.com/

On Thu, Feb 2, 2017 at 9:51 AM, yauza <ag...@gmail.com> wrote:

> While migrating from Solr legacy faceting to Solr streaming API, how to
> implement the below parameters:
>
> &facet = true
> &facet.range = {!key=age_ranges}age
> &f.age.facet.range.start = 0
> &f.age.facet.range.end = 100
> &f.age.facet.range.gap = 10
> &facet.range = {!key=price_ranges}price
> &f.price.facet.range.start = 0
> &f.price.facet.range.end = 1000
> &f.price.facet.range.gap = 50
> &facet.field = a_field
> &facet.minCount = 1
>
>
> How can I implement these parameters using the new facet streaming with
> parallel functions. I understand rollup() functionality has to be used.But
> the documentation is limited and I am not able to understand the underlying
> functionality. Can someone help me with this?
>
> Ref Sample Query being currently used:
>
> q=(score:[*+TO+*])+AND+(field:378/content)+AND+(crawl_date:[
> 2015-01-01T18:30:00.000Z+TO+2017-02-01T18:30:00.000Z])
> &facet.range=score&facet.range=project_score&facet.
> range=publish_date&f.score.facet.range.start=0
> &f.score.facet.range.end=1000&f.score.facet.range.gap=10&
> facet=true&f.project_score.facet.range.start=0.0
> &f.project_score.facet.range.end=1.0&f.project_score.facet.
> range.gap=0.01&f.publish_date.facet.range.start=1970-01-01T00:00:00Z
> &f.publish_date.facet.range.end=2017-02-01T14:09:26.763Z&
> f.publish_date.facet.range.gap=%2B1MONTH&rows=0&facet.field=project_score
> &facet.field={!key%3D378+facet.prefix%3D378/content}
> field&facet.field=Tags&facet.field=patent_publication
> &facet.field=score&facet.limit=1000&facet.mincount=1
>
>
>
>
> --
> View this message in context: http://lucene.472066.n3.
> nabble.com/Solr-6-Facet-range-query-over-streaming-API-tp4318477.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>