I thought of a possible enhancement - before I go down the road, I am
looking for some input form the community?
Currently, the QueryFilter caches the bits base upon the IndexReader.
The problem with this is small incremental changes to the index
invalidate the cache.
What if instead the filter determined that the underlying IndexReader
was a MultiReader and then maintained a bitset for each reader,
combining them in bits() when requested. The filter could check if
any of the underlying readers were the different (removed or added)
and then just create a new bitset for that reader. With the new non-
bit set filter implementations this could be even more memory
efficient since the bitsets would not need to be combined into a
single bitset.
With the previous work on "reopen" so that segments are reused, this
would allow filters to be far more useful in a highly interactive
environment.
What do you think?
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]