I have some code using Lucene that leaves the default conjunction operator as OR, and I want to change it to AND. Some of the code just uses a plain QueryParser, and that’s fine – I can just call setDefaultOperator on those instances.
Unfortunately, in one place the code uses a MultiFieldQueryParser, and calls the static “parse” method (taking String, String[], BooleanClause.Occur[], Analyzer), so it seems that setDefaultOperator can’t help, because it’s an instance method.
Is there a way to keep using the same parser but have the default conjunction changed?
The
MultiFieldQueryParserclass extends theQueryParserclass. Perhaps you could simply configure an instance of this class rather than relying on its static methods? If you really need to configure theBooleanClause.Occurvalues, you could do it afterward.