DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=31785>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=31785

DisjunctionScorer





------- Additional Comments From [EMAIL PROTECTED]  2004-10-26 22:00 -------
I have not yet tested it on bigger indexes, sorry. 
The thing is under development, currently it prepares 
an array of scores for the abstract combineScores() method 
with a Float.NaN for subscorers not at the current document. 
 
I don't see performance bottlenecks in the Java code, 
but I know I can't predict a profiler... 
 
I expect it to be somewhat slower than BooleanScorer. 
The main reason to implement it is that I need skipTo() 
to allow very sparse filters. So sparse that the advantage 
of skipTo() outweighs the disadvantage of the PriorityQueue. 
 
For required subscorers Lucene's ConjunctionScorer does well. 
For prohibited subscorers I have a scorer for required/excluded, 
which follows the required scorer and does skipTo() on the 
excluded scorer. 
For optional subscorers I'm using a required/optional scorer, 
which delays skipTo() on the optional subscorers until score() 
is called. 
 
These four scorers (Conjunction, Disjunction, ReqExcl, ReqOpt) can 
implement all boolean queries. They were designed for boolean 
operators (AND, OR, NOT and an operator for required/optional) 
so they don't fit directly on queries from Lucene's parser 
where each clause can be required/prohibited/optional. 
 
I wouldn't mind contributing the required/optional scorer and the  
required/excluded scorer as well.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to