: The other would be to somehow control the scores of each id. So a document : with 2 ids matching should be worth more then the document with only 1 id : matching (This is how it works now) but a document with 7 ids matching : shouldn't be worth more, or at least not a lot more, then a document that : matches only 3 ids (this is not how it works).
this is all drive by the "coord factor" of the outermost BooleanQuery ... you can provide a custom Similarity class thta generates differnet values based on the field/number of clauses, or if you are already generating the BooleanQuery via custom code (ie: your own QParser or what not) you can override the SImilartiy there. : The reason this would be ideal for us is that we don't have any control over : how many ids will be in the query and we don't want documents that have lots : of ids to have an unnatural advantage over those with just a few. If you put 'omitNorms="false"' on the field in question, then the length normalization (which rewards shorter documents) should help offset this -- no custom code required. -Hoss