Setting up ES facets like Endeca

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Setting up ES facets like Endeca

Travis Chase
Is it possible to setup ES facets like Endeca's? I want to be able setup by facet if it is a multi-select or and an and. In the case of Endeca you can setup a facet, dimension, so that it is multi-select and that the counts for the facet take in account just query term not the filters. I know that the filter element allows you to setup facet navigation ignoring what filters are set and filtered queries allow you to have facet counts based off the filter applied. I want to mix and match these.

For example:

Language:
 - English (12)
 - French (10)
 - Spain (5)

I apply the English filter and get a result of 12 records and the facet would look like

Language:
 - French (10)
 - Spain (5)

I then apply French as well and get 22 records cause it is a or filter

With other facets on the page I want the counts to be limited by the filters applied say a facet Gender. Is this possible in ElasticSearch?

Thanks

--
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 [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Setting up ES facets like Endeca

Ivan Brusic
Each facet can take a different filter (facet_filter) than the one the query uses. You can facet on the Language field while adding the current select languages as an exclude term. With the Gender facet, you can just apply the same filter from the query.

Something like:
{
    "query" : { "match_all" : {  } },
  "filter" : { "term" : { "Language" : "English" } }
    "facets" : {
        "Language" : {
            "terms" : {
                "field" : "Language",
                "exclude" : ["English"]
            }
        },
        "Language" : {
            "terms" : {
                "field" : "Gender"
            }
"facet_filter" : {
                "term" : { "Language" : "English" }
            }
        }
    }
}

Cheers,

Ivan


On Wed, Aug 21, 2013 at 4:13 PM, Travis Chase <[hidden email]> wrote:
Is it possible to setup ES facets like Endeca's? I want to be able setup by facet if it is a multi-select or and an and. In the case of Endeca you can setup a facet, dimension, so that it is multi-select and that the counts for the facet take in account just query term not the filters. I know that the filter element allows you to setup facet navigation ignoring what filters are set and filtered queries allow you to have facet counts based off the filter applied. I want to mix and match these.

For example:

Language:
 - English (12)
 - French (10)
 - Spain (5)

I apply the English filter and get a result of 12 records and the facet would look like

Language:
 - French (10)
 - Spain (5)

I then apply French as well and get 22 records cause it is a or filter

With other facets on the page I want the counts to be limited by the filters applied say a facet Gender. Is this possible in ElasticSearch?

Thanks

--
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 [hidden email].
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 [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.