Hi, Thanks the pointers in your replies. Would it be possible to include some sort of accrual scorer interface somewhere in the Lucene Query APIs? This could be passed into a query similar to MaxDisjunctionQuery; and combine the sum, max, tieBreaker, etc., according to the implementor's discretion, to compute the overall score for a document.
-Ken On Sat, 13 Nov 2004 12:07:05 +0100, Paul Elschot <[EMAIL PROTECTED]> wrote: > On Friday 12 November 2004 22:56, Chuck Williams wrote: > > > > I had a similar need and wrote MaxDisjunctionQuery and > > MaxDisjunctionScorer. Unfortunately these are not available as a patch > > but I've included the original message below that has the code (modulo > > line breaks added by simple text email format). > > > > This code is functional -- I use it in my app. It is optimized for its > > stated use, which involves a small number of clauses. You'd want to > > improve the incremental sorting (e.g., using the bucket technique of > > BooleanQuery) if you need it for large numbers of clauses. > > When you're interested, you can also have a look here for > yet another DisjunctionScorer: > http://issues.apache.org/bugzilla/show_bug.cgi?id=31785 > > It has the advantage that it implements skipTo() so that it can > be used as a subscorer of ConjunctionScorer, ie. it can be > faster in situations like this: > > aa AND (bb OR cc) > > where bb and cc are treated by the DisjunctionScorer. > When aa is a filter this can also be used to implement > a filtering query. > > > > > > Re. Paul's suggested steps below, I did not integrate this with query > > parser as I didn't need that functionality (since I'm generating the > > multi-field expansions for which max is a much better scoring choice > > than sum). > > > > Chuck > > > > Included message: > > > > -----Original Message----- > > From: Chuck Williams [mailto:[EMAIL PROTECTED] > > Sent: Monday, October 11, 2004 9:55 PM > > To: [EMAIL PROTECTED] > > Subject: Contribution: better multi-field searching > > > > The files included below (MaxDisjunctionQuery.java and > > MaxDisjunctionScorer.java) provide a new mechanism for searching across > > multiple fields. > > The maximum indeed works well, also when the fields differ a lot length. > > Regards, > Paul > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
