Details
-
Improvement
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
3.3, 4.0-ALPHA
-
None
-
None
-
None
Description
followup to LUCENE-2048:
Adds factory methods getPhraseQuery/getMultiPhraseQuery to QP, this way you can subclass it and customize behavior, particularly
- by default, Solr throws exception here if the fieldtype omits positions: rather than 3.x's silent failure of no results, and even for trunk its nicer to fail during query parsing rather than waiting for lucene's failure during execution.
- adds phraseAsBoolean, which allows you to downgrade these phrase/multiphrase queries to boolean queries: this is a nice option in conjunction with our word n-gram filters (shingle/commongrams/etc)for a fast "approximation", if your application can tolerate some false positives, e.g. "foo bar" -> termQuery(foo_bar), "foo bar baz" -> BQ(foo_bar AND bar_baz)