Hello Greg. Not a direct answer to your question... If all you are changing is the default OR into AND, there may be other alternative like:
- a jira ticket to allow to choose the operator, - have you looked at the more flexible option where you can pass to lookup() your own custom built BooleanQuery for filtering? This was introduced in LUCENE-6464 https://github.com/apache/lucene-solr/blob/5767764a2b621fce76c0b0529ddde550fdc00307/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java#L493 Thanks. Arcadius. On 24 August 2015 at 10:02, Greg Huber <gregh3...@gmail.com> wrote: > Hello, > > I am extending AnalyzingInfixSuggester for use with my suggester where I > change the query to be a AND rather than an OR in the finishQuery(..) > method. > > ie > > /** > * Subclass can override this to tweak the Query before searching. > */ > protected Query finishQuery(Builder in, boolean allTermsRequired) { > > // Update contexts to be ANDs (MUST) rather than ORs (SHOULD) > for (BooleanClause booleanClause : in.build().clauses()) { > // Change the contexts to be MUST (will be the only > BooleanQuery and others will be TermQuery) > if (booleanClause.getQuery() instanceof BooleanQuery) { > BooleanQuery bq = (BooleanQuery) booleanClause.getQuery(); > for (BooleanClause bc : bq) { > bc.setOccur(BooleanClause.Occur.MUST); > } > // We are done > break; > } > } > > return in.build(); > } > > It says that BooleanClause.setOccur(..) is depreciated and will be > *immutable > in 6.0*, how would I then be able to do this? > > > http://lucene.apache.org/core/5_3_0/core/org/apache/lucene/search/BooleanClause.html > > Cheers Greg > -- Arcadius Ahouansou Menelic Ltd | Information is Power M: 07908761999 W: www.menelic.com ---