Bool filters vs and filters - more questions


(DH) #1

Hello, everyone.

I've read a few threads from various sources about de differences between a
boolFilter (with several must clauses) and an andFilter.

The conclusions where that a boolFilter is prefered (due to the speed of
bitwise operations), as long as you do not have numeric_ranges filters,
scripts filters and geo_distance filters. (because those do not create
bitsets).

However, with the andFilter, if a filter does not match a doc, subsequent
filters will not be applied to this docs, wich seems highly interresting.
Here, we are working with very complicated docs, containings hundreds of
different fields, and I was wondering....
If the queries we do here had lots of filters (7-10) and the fields used
for those queries had a lot (and I mean a lot) of different values (wich
would actually means that for a fair bit of the filters, the bitset would
not yet be present, I assume) ... would it still be more efficient to use a
boolFilter over an AndFilter? (even if none of the filters are of the three
aforementionned types that does not build bitsets)
Or would the "short-circuit effect" of the andFilter more than make up for
the lack of bitwise operations?

Any insight on that matter would be of a tremendous help.
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 elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(system) #2