Re: how does facets work

2014-01-01 Thread Alexander Reelsen
Hey

Small correction: When using the global flag, facets ignore the query. See
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-facets.html#_scope

That might help in your case (though from my experience it is likely that
you will end up with a couple of facets, from which each has a different
facet filter. But your mileage may vary).


--Alex


On Fri, Dec 27, 2013 at 6:58 PM, Ivan Brusic  wrote:

> Facets work on the documents returned by the query.  This behavior will
> not work in your case since you would like to gather facets on a greater
> set of documents, not just the ones returned by the query. To solve this
> issue, elasticsearch provides a post filter, which affects the result
> document set, but not the set of documents that the facets work on.
>
> The term "filter" is a bit overloaded in elasticsearch, so the team
> renamed the post filter to a more explicit "post_filter":
>
>
> http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-post-filter.html
> https://github.com/elasticsearch/elasticsearch/issues/4119
>
> The post filter documentation has some insight on how the filters affect
> the facets. In your case, you want a filtered query (
> http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html
>  )
> with the color as the filter, but the model filter will be applied as a
> post filter. Hopefully this makes sense. :)
>
> Cheers,
>
> Ivan
>
>
> On Fri, Dec 27, 2013 at 9:41 AM, Volker  wrote:
>
>> Dear Readers
>>
>> I have a question about facets and doing some filtering based on facets.
>>
>> In the moment I am using hibernate search in combination with bobobrowse
>> for facetting and I am thinking about switching to ES. But before that I
>> would like to check whether I can still get the same functionality.
>>
>> lets asume that I have an index about cars and some facets -- eg. model
>> and color.
>>
>> color
>> [ ] red (10)
>> [ ] blue (5)
>> [ ] green (2)
>>
>> model
>> [ ] bmw (4)
>> [ ] vw (5)
>> [ ] ford (8)
>>
>> if I select a model I would like to get only color facets for that model,
>> but I still would like to get facets for all models. eg:
>>
>> color
>> [ ] red (2)
>> [ ] blue (2)
>> [ ] green (1)
>>
>> model
>> [ ] bmw (4)
>> [x] vw (5)
>> [ ] ford (8)
>>
>> I have searched I did not find an example about this usecase. Is this
>> possible and if yes, how do I filter a query to get these results?
>>
>> Kind regards
>>
>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "elasticsearch" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to elasticsearch+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/elasticsearch/9d1f3008-aff2-4936-8e6c-7611734e7418%40googlegroups.com
>> .
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "elasticsearch" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to elasticsearch+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elasticsearch/CALY%3DcQDj9Q9EsfvH5%2BE1AkZiCZLVuq3RZkSrRFeaW_NM3Uc6Gw%40mail.gmail.com
> .
>
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CAGCwEM-FX_La_JB3kyEp7af%2B3A2hEQ2DQ2x0skFi-c_fFppPjw%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: how does facets work

2013-12-30 Thread Volker
Dear Ivan

thank you very much for your fast and helpful response. I will create some 
demo data and play with your snippet. 

I really appreciate your help!

btw... I think my scenario is a very standard scenario for working with 
facets -- e.g. every online shop is working in this fashion with facets.

kind regards
Volker

Am Montag, 30. Dezember 2013 18:36:31 UTC+1 schrieb Ivan Brusic:
>
> After reading your scenario again, I have modified slightly my suggestion. 
> You would still need to use a post filter since the facets need to work on 
> set of documents that is greater than the set returned. You can apply the 
> same post filter as a facet filter on the facet you want to reduce. Here is 
> an example:
>
> https://gist.github.com/brusic/8185134
>
> -- 
> Ivan
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/18a41661-021b-4833-86f1-423223da7a20%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: how does facets work

2013-12-30 Thread Ivan Brusic
After reading your scenario again, I have modified slightly my suggestion.
You would still need to use a post filter since the facets need to work on
set of documents that is greater than the set returned. You can apply the
same post filter as a facet filter on the facet you want to reduce. Here is
an example:

https://gist.github.com/brusic/8185134

-- 
Ivan


On Mon, Dec 30, 2013 at 7:57 AM, Volker  wrote:

> >Hopefully this makes sense. :)
>
> after reading through your provided links... not totally ;-)
>
> If I apply the selected facet before the the facet calculation, the facet
> will count only elements, that are part of the result. That would mean,
> that I would not get numbers for the not selected models (in this case no
> numbers for bmw and ford).
>
> If I apply the selected facet as a post_filter, I will get the correct
> numbers for the unselected models, but the facets for the color does not
> represent the numbers for the selected model, but for all models.
>
> But probably I have not understood it, as it was meant. :-)
>
> Could you please elaborate further, how the query/filter for a selected
> facet should be formulated? I have not found any example for this. If there
> is one online, I would appreciate a link to that example.
>
> Kind regards
>
>
>
> Am Freitag, 27. Dezember 2013 18:58:13 UTC+1 schrieb Ivan Brusic:
>
>> Facets work on the documents returned by the query.  This behavior will
>> not work in your case since you would like to gather facets on a greater
>> set of documents, not just the ones returned by the query. To solve this
>> issue, elasticsearch provides a post filter, which affects the result
>> document set, but not the set of documents that the facets work on.
>>
>> The term "filter" is a bit overloaded in elasticsearch, so the team
>> renamed the post filter to a more explicit "post_filter":
>>
>> http://www.elasticsearch.org/guide/en/elasticsearch/
>> reference/current/search-request-post-filter.html
>> https://github.com/elasticsearch/elasticsearch/issues/4119
>>
>> The post filter documentation has some insight on how the filters affect
>> the facets. In your case, you want a filtered query (
>> http://www.elasticsearch.org/guide/en/elasticsearch/
>> reference/current/query-dsl-filtered-query.html ) with the color as the
>> filter, but the model filter will be applied as a post filter. Hopefully
>> this makes sense. :)
>>
>> Cheers,
>>
>> Ivan
>>
>>
>> On Fri, Dec 27, 2013 at 9:41 AM, Volker  wrote:
>>
>>> Dear Readers
>>>
>>> I have a question about facets and doing some filtering based on facets.
>>>
>>> In the moment I am using hibernate search in combination with bobobrowse
>>> for facetting and I am thinking about switching to ES. But before that I
>>> would like to check whether I can still get the same functionality.
>>>
>>> lets asume that I have an index about cars and some facets -- eg. model
>>> and color.
>>>
>>> color
>>> [ ] red (10)
>>> [ ] blue (5)
>>> [ ] green (2)
>>>
>>> model
>>> [ ] bmw (4)
>>> [ ] vw (5)
>>> [ ] ford (8)
>>>
>>> if I select a model I would like to get only color facets for that
>>> model, but I still would like to get facets for all models. eg:
>>>
>>> color
>>> [ ] red (2)
>>> [ ] blue (2)
>>> [ ] green (1)
>>>
>>> model
>>> [ ] bmw (4)
>>> [x] vw (5)
>>> [ ] ford (8)
>>>
>>> I have searched I did not find an example about this usecase. Is this
>>> possible and if yes, how do I filter a query to get these results?
>>>
>>> Kind regards
>>>
>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "elasticsearch" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to elasticsearc...@googlegroups.com.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/
>>> msgid/elasticsearch/9d1f3008-aff2-4936-8e6c-7611734e7418%
>>> 40googlegroups.com.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "elasticsearch" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to elasticsearch+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elasticsearch/2609a3ee-1124-4bc1-95e6-c6e7cdb06128%40googlegroups.com
> .
>
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CALY%3DcQC1i0wUL2gMVEt37PdZLNZXyTi7PTNGKUzDedR6Gpx-5w%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: how does facets work

2013-12-30 Thread Volker
>Hopefully this makes sense. :)

after reading through your provided links... not totally ;-)

If I apply the selected facet before the the facet calculation, the facet 
will count only elements, that are part of the result. That would mean, 
that I would not get numbers for the not selected models (in this case no 
numbers for bmw and ford).

If I apply the selected facet as a post_filter, I will get the correct 
numbers for the unselected models, but the facets for the color does not 
represent the numbers for the selected model, but for all models.

But probably I have not understood it, as it was meant. :-) 

Could you please elaborate further, how the query/filter for a selected 
facet should be formulated? I have not found any example for this. If there 
is one online, I would appreciate a link to that example.

Kind regards


Am Freitag, 27. Dezember 2013 18:58:13 UTC+1 schrieb Ivan Brusic:
>
> Facets work on the documents returned by the query.  This behavior will 
> not work in your case since you would like to gather facets on a greater 
> set of documents, not just the ones returned by the query. To solve this 
> issue, elasticsearch provides a post filter, which affects the result 
> document set, but not the set of documents that the facets work on.
>
> The term "filter" is a bit overloaded in elasticsearch, so the team 
> renamed the post filter to a more explicit "post_filter":
>
>
> http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-post-filter.html
> https://github.com/elasticsearch/elasticsearch/issues/4119
>
> The post filter documentation has some insight on how the filters affect 
> the facets. In your case, you want a filtered query (
> http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html
>  ) 
> with the color as the filter, but the model filter will be applied as a 
> post filter. Hopefully this makes sense. :)
>
> Cheers,
>
> Ivan
>
>
> On Fri, Dec 27, 2013 at 9:41 AM, Volker >wrote:
>
>> Dear Readers
>>
>> I have a question about facets and doing some filtering based on facets.
>>
>> In the moment I am using hibernate search in combination with bobobrowse 
>> for facetting and I am thinking about switching to ES. But before that I 
>> would like to check whether I can still get the same functionality.
>>
>> lets asume that I have an index about cars and some facets -- eg. model 
>> and color.
>>
>> color
>> [ ] red (10)
>> [ ] blue (5)
>> [ ] green (2)
>>
>> model
>> [ ] bmw (4)
>> [ ] vw (5)
>> [ ] ford (8)
>>
>> if I select a model I would like to get only color facets for that model, 
>> but I still would like to get facets for all models. eg:
>>
>> color
>> [ ] red (2)
>> [ ] blue (2)
>> [ ] green (1)
>>
>> model
>> [ ] bmw (4)
>> [x] vw (5)
>> [ ] ford (8)
>>
>> I have searched I did not find an example about this usecase. Is this 
>> possible and if yes, how do I filter a query to get these results?
>>
>> Kind regards
>>
>>
>>
>>  -- 
>> You received this message because you are subscribed to the Google Groups 
>> "elasticsearch" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to elasticsearc...@googlegroups.com .
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/elasticsearch/9d1f3008-aff2-4936-8e6c-7611734e7418%40googlegroups.com
>> .
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/2609a3ee-1124-4bc1-95e6-c6e7cdb06128%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: how does facets work

2013-12-27 Thread Volker
Dear Ivan

thank you very much for your pointers. I will read through it and come 
back, if I have further questions!

thanks

Am Freitag, 27. Dezember 2013 18:58:13 UTC+1 schrieb Ivan Brusic:
>
> Facets work on the documents returned by the query.  This behavior will 
> not work in your case since you would like to gather facets on a greater 
> set of documents, not just the ones returned by the query. To solve this 
> issue, elasticsearch provides a post filter, which affects the result 
> document set, but not the set of documents that the facets work on.
>
> The term "filter" is a bit overloaded in elasticsearch, so the team 
> renamed the post filter to a more explicit "post_filter":
>
>
> http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-post-filter.html
> https://github.com/elasticsearch/elasticsearch/issues/4119
>
> The post filter documentation has some insight on how the filters affect 
> the facets. In your case, you want a filtered query (
> http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html
>  ) 
> with the color as the filter, but the model filter will be applied as a 
> post filter. Hopefully this makes sense. :)
>
> Cheers,
>
> Ivan
>
>
> On Fri, Dec 27, 2013 at 9:41 AM, Volker >wrote:
>
>> Dear Readers
>>
>> I have a question about facets and doing some filtering based on facets.
>>
>> In the moment I am using hibernate search in combination with bobobrowse 
>> for facetting and I am thinking about switching to ES. But before that I 
>> would like to check whether I can still get the same functionality.
>>
>> lets asume that I have an index about cars and some facets -- eg. model 
>> and color.
>>
>> color
>> [ ] red (10)
>> [ ] blue (5)
>> [ ] green (2)
>>
>> model
>> [ ] bmw (4)
>> [ ] vw (5)
>> [ ] ford (8)
>>
>> if I select a model I would like to get only color facets for that model, 
>> but I still would like to get facets for all models. eg:
>>
>> color
>> [ ] red (2)
>> [ ] blue (2)
>> [ ] green (1)
>>
>> model
>> [ ] bmw (4)
>> [x] vw (5)
>> [ ] ford (8)
>>
>> I have searched I did not find an example about this usecase. Is this 
>> possible and if yes, how do I filter a query to get these results?
>>
>> Kind regards
>>
>>
>>
>>  -- 
>> You received this message because you are subscribed to the Google Groups 
>> "elasticsearch" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to elasticsearc...@googlegroups.com .
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/elasticsearch/9d1f3008-aff2-4936-8e6c-7611734e7418%40googlegroups.com
>> .
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/85f17064-1226-4f0b-9435-2b17790afd4e%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: how does facets work

2013-12-27 Thread Ivan Brusic
Facets work on the documents returned by the query.  This behavior will not
work in your case since you would like to gather facets on a greater set of
documents, not just the ones returned by the query. To solve this issue,
elasticsearch provides a post filter, which affects the result document
set, but not the set of documents that the facets work on.

The term "filter" is a bit overloaded in elasticsearch, so the team renamed
the post filter to a more explicit "post_filter":

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-post-filter.html
https://github.com/elasticsearch/elasticsearch/issues/4119

The post filter documentation has some insight on how the filters affect
the facets. In your case, you want a filtered query (
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html
)
with the color as the filter, but the model filter will be applied as a
post filter. Hopefully this makes sense. :)

Cheers,

Ivan


On Fri, Dec 27, 2013 at 9:41 AM, Volker  wrote:

> Dear Readers
>
> I have a question about facets and doing some filtering based on facets.
>
> In the moment I am using hibernate search in combination with bobobrowse
> for facetting and I am thinking about switching to ES. But before that I
> would like to check whether I can still get the same functionality.
>
> lets asume that I have an index about cars and some facets -- eg. model
> and color.
>
> color
> [ ] red (10)
> [ ] blue (5)
> [ ] green (2)
>
> model
> [ ] bmw (4)
> [ ] vw (5)
> [ ] ford (8)
>
> if I select a model I would like to get only color facets for that model,
> but I still would like to get facets for all models. eg:
>
> color
> [ ] red (2)
> [ ] blue (2)
> [ ] green (1)
>
> model
> [ ] bmw (4)
> [x] vw (5)
> [ ] ford (8)
>
> I have searched I did not find an example about this usecase. Is this
> possible and if yes, how do I filter a query to get these results?
>
> Kind regards
>
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "elasticsearch" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to elasticsearch+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elasticsearch/9d1f3008-aff2-4936-8e6c-7611734e7418%40googlegroups.com
> .
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CALY%3DcQDj9Q9EsfvH5%2BE1AkZiCZLVuq3RZkSrRFeaW_NM3Uc6Gw%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


how does facets work

2013-12-27 Thread Volker
Dear Readers

I have a question about facets and doing some filtering based on facets.

In the moment I am using hibernate search in combination with bobobrowse 
for facetting and I am thinking about switching to ES. But before that I 
would like to check whether I can still get the same functionality.

lets asume that I have an index about cars and some facets -- eg. model and 
color.

color
[ ] red (10)
[ ] blue (5)
[ ] green (2)

model
[ ] bmw (4)
[ ] vw (5)
[ ] ford (8)

if I select a model I would like to get only color facets for that model, 
but I still would like to get facets for all models. eg:

color
[ ] red (2)
[ ] blue (2)
[ ] green (1)

model
[ ] bmw (4)
[x] vw (5)
[ ] ford (8)

I have searched I did not find an example about this usecase. Is this 
possible and if yes, how do I filter a query to get these results?

Kind regards



-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/9d1f3008-aff2-4936-8e6c-7611734e7418%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.