Michael Stoppelman skrev:
Hi all,
I've been doing some performance testing and found that using
QueryWrapperFilter for a location field
restriction I have to do allows my search results to approach 5-10ms. This
was surprising.
Before the performance was between 50ms-100ms.
The queries from before the optimization look like the following:
+(+(text:cats) +(loc:1 loc:2 loc:3 ...))
The QueryWrapperFilter does do a search itself. Why would performance be so
drastically different when the
QueryWrapperFilter needs to do a search? Does lucene just not have the
statistics to optimize this query so it
can decide which terms to filter by first?
Do you wonder why a QueryWrapperFilter is faster than a Query? Then the
answer is that the filter uses a bitset to know if a document matches a
document or not. For each document that match text:cats it checks the
flag in the bitset for that document number instead of seeking in the
index to find out if also match loc:1, loc:2 or loc:3.
karl
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]