Package org.elasticsearch.search.suggest
Class SuggestionBuilder<T extends SuggestionBuilder<T>>
- java.lang.Object
-
- org.elasticsearch.search.suggest.SuggestionBuilder<T>
-
- All Implemented Interfaces:
NamedWriteable
,Writeable
,ToXContent
,ToXContentFragment
- Direct Known Subclasses:
CompletionSuggestionBuilder
,PhraseSuggestionBuilder
,TermSuggestionBuilder
public abstract class SuggestionBuilder<T extends SuggestionBuilder<T>> extends java.lang.Object implements NamedWriteable, ToXContentFragment
Base class for the different suggestion implementations.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
ToXContent.DelegatingMapParams, ToXContent.MapParams, ToXContent.Params
-
Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V>
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
analyzer
protected static ParseField
ANALYZER_FIELD
protected java.lang.String
field
protected static ParseField
FIELDNAME_FIELD
protected java.lang.String
prefix
protected static ParseField
PREFIX_FIELD
protected java.lang.String
regex
protected static ParseField
REGEX_FIELD
protected java.lang.Integer
shardSize
protected static ParseField
SHARDSIZE_FIELD
protected java.lang.Integer
size
protected static ParseField
SIZE_FIELD
protected java.lang.String
text
protected static ParseField
TEXT_FIELD
-
Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
SuggestionBuilder(java.lang.String field)
Creates a new suggestion.protected
SuggestionBuilder(java.lang.String field, SuggestionBuilder<?> in)
internal copy constructor that copies over all class fields from second SuggestionBuilder except field name.protected
SuggestionBuilder(StreamInput in)
Read from a stream.
-
Method Summary
Modifier and Type Method Description java.lang.String
analyzer()
get theanalyzer()
parameterT
analyzer(java.lang.String analyzer)
Sets the analyzer to analyse to suggest text with.protected abstract SuggestionSearchContext.SuggestionContext
build(QueryShardContext context)
protected abstract boolean
doEquals(T other)
Indicates whether some otherSuggestionBuilder
of the same type is "equal to" this one.protected abstract int
doHashCode()
HashCode for the subclass ofSuggestionBuilder
to implement.protected abstract void
doWriteTo(StreamOutput out)
boolean
equals(java.lang.Object obj)
java.lang.String
field()
get thefield()
parameterint
hashCode()
protected abstract XContentBuilder
innerToXContent(XContentBuilder builder, ToXContent.Params params)
protected void
populateCommonFields(MapperService mapperService, SuggestionSearchContext.SuggestionContext suggestionContext)
Transfers the text, prefix, regex, analyzer, field, size and shard size settings from the originalSuggestionBuilder
to the targetSuggestionSearchContext.SuggestionContext
java.lang.String
prefix()
get the prefix for this suggestionprotected T
prefix(java.lang.String prefix)
java.lang.String
regex()
get the regex for this suggestionprotected T
regex(java.lang.String regex)
java.lang.Integer
shardSize()
get theshardSize()
parameterT
shardSize(java.lang.Integer shardSize)
Sets the maximum number of suggested term to be retrieved from each individual shard.java.lang.Integer
size()
get thesize()
parameterT
size(int size)
Sets the maximum suggestions to be returned per suggest text term.java.lang.String
text()
get the text for this suggestionT
text(java.lang.String text)
Same as inSuggestBuilder.setGlobalText(String)
, but in the suggestion scope.XContentBuilder
toXContent(XContentBuilder builder, ToXContent.Params params)
void
writeTo(StreamOutput out)
Write this into the StreamOutput.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.elasticsearch.common.io.stream.NamedWriteable
getWriteableName
-
Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentFragment
isFragment
-
-
-
-
Field Detail
-
field
protected final java.lang.String field
-
text
protected java.lang.String text
-
prefix
protected java.lang.String prefix
-
regex
protected java.lang.String regex
-
analyzer
protected java.lang.String analyzer
-
size
protected java.lang.Integer size
-
shardSize
protected java.lang.Integer shardSize
-
TEXT_FIELD
protected static final ParseField TEXT_FIELD
-
PREFIX_FIELD
protected static final ParseField PREFIX_FIELD
-
REGEX_FIELD
protected static final ParseField REGEX_FIELD
-
FIELDNAME_FIELD
protected static final ParseField FIELDNAME_FIELD
-
ANALYZER_FIELD
protected static final ParseField ANALYZER_FIELD
-
SIZE_FIELD
protected static final ParseField SIZE_FIELD
-
SHARDSIZE_FIELD
protected static final ParseField SHARDSIZE_FIELD
-
-
Constructor Detail
-
SuggestionBuilder
protected SuggestionBuilder(java.lang.String field)
Creates a new suggestion.- Parameters:
field
- field to execute suggestions on
-
SuggestionBuilder
protected SuggestionBuilder(java.lang.String field, SuggestionBuilder<?> in)
internal copy constructor that copies over all class fields from second SuggestionBuilder except field name.
-
SuggestionBuilder
protected SuggestionBuilder(StreamInput in) throws java.io.IOException
Read from a stream.- Throws:
java.io.IOException
-
-
Method Detail
-
writeTo
public final void writeTo(StreamOutput out) throws java.io.IOException
Description copied from interface:Writeable
Write this into the StreamOutput.
-
doWriteTo
protected abstract void doWriteTo(StreamOutput out) throws java.io.IOException
- Throws:
java.io.IOException
-
text
public T text(java.lang.String text)
Same as inSuggestBuilder.setGlobalText(String)
, but in the suggestion scope.
-
text
public java.lang.String text()
get the text for this suggestion
-
prefix
protected T prefix(java.lang.String prefix)
-
prefix
public java.lang.String prefix()
get the prefix for this suggestion
-
regex
protected T regex(java.lang.String regex)
-
regex
public java.lang.String regex()
get the regex for this suggestion
-
field
public java.lang.String field()
get thefield()
parameter
-
analyzer
public T analyzer(java.lang.String analyzer)
Sets the analyzer to analyse to suggest text with. Defaults to the search analyzer of the suggest field.
-
analyzer
public java.lang.String analyzer()
get theanalyzer()
parameter
-
size
public T size(int size)
Sets the maximum suggestions to be returned per suggest text term.
-
size
public java.lang.Integer size()
get thesize()
parameter
-
shardSize
public T shardSize(java.lang.Integer shardSize)
Sets the maximum number of suggested term to be retrieved from each individual shard. During the reduce phase the only the top N suggestions are returned based on thesize
option. Defaults to thesize
option.Setting this to a value higher than the `size` can be useful in order to get a more accurate document frequency for suggested terms. Due to the fact that terms are partitioned amongst shards, the shard level document frequencies of suggestions may not be precise. Increasing this will make these document frequencies more precise.
-
shardSize
public java.lang.Integer shardSize()
get theshardSize()
parameter
-
toXContent
public XContentBuilder toXContent(XContentBuilder builder, ToXContent.Params params) throws java.io.IOException
- Specified by:
toXContent
in interfaceToXContent
- Throws:
java.io.IOException
-
innerToXContent
protected abstract XContentBuilder innerToXContent(XContentBuilder builder, ToXContent.Params params) throws java.io.IOException
- Throws:
java.io.IOException
-
build
protected abstract SuggestionSearchContext.SuggestionContext build(QueryShardContext context) throws java.io.IOException
- Throws:
java.io.IOException
-
populateCommonFields
protected void populateCommonFields(MapperService mapperService, SuggestionSearchContext.SuggestionContext suggestionContext)
Transfers the text, prefix, regex, analyzer, field, size and shard size settings from the originalSuggestionBuilder
to the targetSuggestionSearchContext.SuggestionContext
-
equals
public final boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
doEquals
protected abstract boolean doEquals(T other)
Indicates whether some otherSuggestionBuilder
of the same type is "equal to" this one.
-
hashCode
public final int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
doHashCode
protected abstract int doHashCode()
HashCode for the subclass ofSuggestionBuilder
to implement.
-
-