Package org.apache.lucene.sandbox.search
Class PhraseWildcardQuery.Builder
- java.lang.Object
-
- org.apache.lucene.sandbox.search.PhraseWildcardQuery.Builder
-
- Enclosing class:
- PhraseWildcardQuery
public static class PhraseWildcardQuery.Builder extends Object
Builds aPhraseWildcardQuery.
-
-
Field Summary
Fields Modifier and Type Field Description protected Stringfieldprotected intmaxMultiTermExpansionsprotected List<PhraseWildcardQuery.PhraseTerm>phraseTermsprotected booleansegmentOptimizationEnabledprotected intslop
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PhraseWildcardQuery.BuilderaddMultiTerm(MultiTermQuery multiTermQuery)Adds a multi-term at the next position in the phrase.PhraseWildcardQuery.BuilderaddTerm(Term term)Adds a single term at the next position in the phrase.PhraseWildcardQuery.BuilderaddTerm(BytesRef termBytes)Adds a single term at the next position in the phrase.PhraseWildcardQuerybuild()Builds aPhraseWildcardQuery.PhraseWildcardQuery.BuildersetSlop(int slop)Sets the phrase slop.
-
-
-
Field Detail
-
field
protected final String field
-
phraseTerms
protected final List<PhraseWildcardQuery.PhraseTerm> phraseTerms
-
slop
protected int slop
-
maxMultiTermExpansions
protected final int maxMultiTermExpansions
-
segmentOptimizationEnabled
protected final boolean segmentOptimizationEnabled
-
-
Constructor Detail
-
Builder
public Builder(String field, int maxMultiTermExpansions)
- Parameters:
field- The query field.maxMultiTermExpansions- The maximum number of expansions across all multi-terms and across all segments. It counts expansions for each segments individually, that allows optimizations per segment and unused expansions are credited to next segments. This is different fromMultiPhraseQueryandSpanMultiTermQueryWrapperwhich have an expansion limit per multi-term.
-
Builder
public Builder(String field, int maxMultiTermExpansions, boolean segmentOptimizationEnabled)
- Parameters:
field- The query field.maxMultiTermExpansions- The maximum number of expansions across all multi-terms and across all segments. It counts expansions for each segments individually, that allows optimizations per segment and unused expansions are credited to next segments. This is different fromMultiPhraseQueryandSpanMultiTermQueryWrapperwhich have an expansion limit per multi-term.segmentOptimizationEnabled- Whether to enable the segment optimization which consists in ignoring a segment for further analysis as soon as a term is not present inside it. This optimizes the query execution performance but changes the scoring. The result ranking is preserved.
-
-
Method Detail
-
addTerm
public PhraseWildcardQuery.Builder addTerm(BytesRef termBytes)
Adds a single term at the next position in the phrase.
-
addTerm
public PhraseWildcardQuery.Builder addTerm(Term term)
Adds a single term at the next position in the phrase.
-
addMultiTerm
public PhraseWildcardQuery.Builder addMultiTerm(MultiTermQuery multiTermQuery)
Adds a multi-term at the next position in the phrase. Any of the terms returned by the providedMultiTermQueryenumeration may match (expansion as a disjunction).
-
setSlop
public PhraseWildcardQuery.Builder setSlop(int slop)
Sets the phrase slop.
-
build
public PhraseWildcardQuery build()
Builds aPhraseWildcardQuery.
-
-