It seems like doing something like pre-processing the query (or equivlently, adding a BooleanClause to a BooleanQuery) that expressed (your original query) AND (field:foo^boost1 OR field:bar^boost2 OR field:baz^boost3) should do the trick. Or I'm just not understanding what you're doing at all
Erick On Dec 7, 2007 1:42 PM, Tom Emerson <[EMAIL PROTECTED]> wrote: > Hello, > > I'm looking for suggestions on how to deal with the following (simplified) > scenario (Lucene 2.2.0): > > Documents in my index have some number of fields that are searched in > various combinations via boolean queries. > > Each document also contains a field that contains a field that isn't > searched that contains values "Foo", "Bar", "Baz", or no value at all. > > I need to boost the score of a hit in a Document by different amounts > based > on whether the field in the matching document contains "Foo", "Bar", or > "Baz". > > Heretofore I have been adding a document boost at indexing time based on > the > source data that is being indexed in each document. This makes the boost > apply across the board and gives the desired results. However, my users > now > want to the ability to selectively apply the boost or not, so doing this > at > indexing time is no longer an option. > > Many thanks in advance for your thoughts, > > -tree > > -- > Tom Emerson > [EMAIL PROTECTED] > http://www.dreamersrealm.net/~tree <http://www.dreamersrealm.net/%7Etree> >