On Thu, Nov 25, 2010 at 2:58 AM, Uwe Schindler <u...@thetaphi.de> wrote:
> ParallelMultiSearcher as subclass of MultiSearcher has the same problems. 
> These are not crashes, but more that some queries do not return correct 
> scored results for some queries. This effects especially all MultiTermQueries 
> (TermRange, Fuzzy, NumericRange, Wildcard, Prefix) if they are used in a 
> negative fashion (using MUST_NOT resp. "-" in QueryParser). For all of those 
> queries except Fuzzy, you are safe if you use CONSTANT_SCORE_REWRITE_METHOD 
> (using setRewriteMethod). The same problems apply for span queries. For *all* 
> Fuzzy Queries (negative or not), the scores are simply wrong and so scoring 
> is broken with (Parallel)MultiSearcher; wrong results are only returned when 
> negative clauses!
>

you can use constant score rewrite method with fuzzy, too. then it
will work "correctly" (even negative) with multisearcher too. but it
will be slow, with unbounded number of results, and the fuzziness will
not affect the scoring. (this is what constant score rewrite implies)

the reason i say "correctly" is that for all of these queries,
constant score rewrite is just a general workaround, and might still
be incorrect. This is because many queries often have special cases
where they rewrite to simpler things and in general the MultiSearcher
combine() logic is broken here, so there might be more problems.

> A new class ParallelIndexSearcher could help with that, when it parallelizes 
> multiple segments, this is still in planning phase. The difference to 
> ParallelMultiSearcher would be that it takes a "single" IndexReader (e.g. a 
> MultiReader in your case) and parallelizes per segment/segment bunches.
>

Besides the inherited broken-ness from multisearcher,
parallelmultisearcher is broken further because it requires you to
organize your index structure in a special way to get concurrency.

This is all pretty silly though, since ParallelMultiSearcher on a
single machine isn't going to increase QPS, so how useful really is it
in general???

we should deprecate both the broken Multi & ParallelMulti Searchers
and never look back.

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to