Now in master - Facets


(Shay Banon) #1

Hi,

Now in master, and will be part of 0.9 is much more enhanced facets
support. On top of the query facet that came with elasticsearch previous
versions, there are now:

On top of that, all facets can now accept filters that filter even more the
"result set" they operate on. Also, there are new and, or, and not
filters that are faster than the bool filter, see more here:

The global flag is applicable as well to all facets, controlling if they
will be bounded by the executing query, or run globally (and bounded by the
filters).

When you have time, take it for a spin and tell me what you think. Other
facets should be simple to implement (they must be "map reduce-able"), so if
you have an idea for one, just shout.

-shay.banon


(egaumer) #2

Just built and tested this. Freaking awesome (the stats facet couldn't have
come at a better time for me).

Your pace of development has been amazing. I'm starting to think you're a
machine :wink:

-Eric

On Thu, Jun 10, 2010 at 12:55 PM, Shay Banon
shay.banon@elasticsearch.comwrote:

Hi,

Now in master, and will be part of 0.9 is much more enhanced facets
support. On top of the query facet that came with elasticsearch previous
versions, there are now:

On top of that, all facets can now accept filters that filter even more the
"result set" they operate on. Also, there are new and, or, and not
filters that are faster than the bool filter, see more here:
http://github.com/elasticsearch/elasticsearch/issues/216

The global flag is applicable as well to all facets, controlling if they
will be bounded by the executing query, or run globally (and bounded by the
filters).

When you have time, take it for a spin and tell me what you think. Other
facets should be simple to implement (they must be "map reduce-able"), so if
you have an idea for one, just shout.

-shay.banon


(Clinton Gormley) #3

Heya

On top of that, all facets can now accept filters that filter even
more the "result set" they operate on. Also, there are new and,
or, and not filters that are faster than the bool filter, see
more here: http://github.com/elasticsearch/elasticsearch/issues/216

Very nice - out of interest, why do Lucene use should|must|mustNot
rather than the more obvious (to me, at least) and|or|not, especially if
(as you say) the latter performs better?

clint


(Shay Banon) #4

Its just an extension to filters that provide that called bool filter, and I
guess the idea was to create something similar to the boolean query. The
other ones (and/or/not) are not part of Lucene or its modules.

-shay.banon

On Fri, Jun 11, 2010 at 12:02 PM, Clinton Gormley
clinton@iannounce.co.ukwrote:

Heya

On top of that, all facets can now accept filters that filter even
more the "result set" they operate on. Also, there are new and,
or, and not filters that are faster than the bool filter, see
more here: http://github.com/elasticsearch/elasticsearch/issues/216

Very nice - out of interest, why do Lucene use should|must|mustNot
rather than the more obvious (to me, at least) and|or|not, especially if
(as you say) the latter performs better?

clint


(Samuel Doyle) #5

Very nice, I had a request for something like this glad to see it was added.
:slight_smile:

On Fri, Jun 11, 2010 at 12:55 PM, Shay Banon
shay.banon@elasticsearch.comwrote:

Its just an extension to filters that provide that called bool filter, and
I guess the idea was to create something similar to the boolean query. The
other ones (and/or/not) are not part of Lucene or its modules.

-shay.banon

On Fri, Jun 11, 2010 at 12:02 PM, Clinton Gormley <clinton@iannounce.co.uk

wrote:

Heya

On top of that, all facets can now accept filters that filter even
more the "result set" they operate on. Also, there are new and,
or, and not filters that are faster than the bool filter, see
more here: http://github.com/elasticsearch/elasticsearch/issues/216

Very nice - out of interest, why do Lucene use should|must|mustNot
rather than the more obvious (to me, at least) and|or|not, especially if
(as you say) the latter performs better?

clint


(system) #6