Hello everybody, I have a search app in which the user can specify in which category the documents he's searching are. So all my indexed documents have a "category" field as well as other fields such as title, description, etc. So when the user enters his query, only the documents that are in the given category and which match a part of the query must be returned.
So I tried to use a MultiFieldQueryParser with SHOULD clauses on the title, description, etc and a MUST clause on the category field. It works pretty well but the problem is that _all_ the documents in the searched category are returned, even if they don't have any similarity with the search string (except for the category of course). I think that's because of the MUST field which takes precedence on the SHOULD fields or something like that ? I saw in the BooleanQuery the method setMinimumNumberShouldMatch(). I think I should use this with my MultiFieldQueryParser to set a minimum of 1 or 2 fields, but this method only exists for BooleanQuery instances so I can't use it... I thought about using directly a BooleanQuery but I want to use the FrenchAnalyzer for the request. Any idea on how to achieve this ? Thanks for your help ! --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org