Package org.opensearch.index.mapper
Class SearchAsYouTypeFieldMapper
java.lang.Object
org.opensearch.index.mapper.Mapper
org.opensearch.index.mapper.FieldMapper
org.opensearch.index.mapper.ParametrizedFieldMapper
org.opensearch.index.mapper.SearchAsYouTypeFieldMapper
- All Implemented Interfaces:
java.lang.Cloneable,java.lang.Iterable<Mapper>,ToXContent,ToXContentFragment
public class SearchAsYouTypeFieldMapper extends ParametrizedFieldMapper
Mapper for a text field that optimizes itself for as-you-type completion by indexing its content into subfields. Each subfield
modifies the analysis chain of the root field to index terms the user would create as they type out the value in the root field
The structure of these fields is
[ SearchAsYouTypeFieldMapper, SearchAsYouTypeFieldType, unmodified analysis ]
├── [ ShingleFieldMapper, ShingleFieldType, analysis wrapped with 2-shingles ]
├── ...
├── [ ShingleFieldMapper, ShingleFieldType, analysis wrapped with max_shingle_size-shingles ]
└── [ PrefixFieldMapper, PrefixFieldType, analysis wrapped with max_shingle_size-shingles and edge-ngrams ]
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSearchAsYouTypeFieldMapper.Builderstatic classSearchAsYouTypeFieldMapper.DefaultsNested classes/interfaces inherited from class org.opensearch.index.mapper.ParametrizedFieldMapper
ParametrizedFieldMapper.Parameter<T extends java.lang.Object>, ParametrizedFieldMapper.Serializer<T extends java.lang.Object>, ParametrizedFieldMapper.SerializerCheck<T extends java.lang.Object>, ParametrizedFieldMapper.TypeParserNested classes/interfaces inherited from class org.opensearch.index.mapper.FieldMapper
FieldMapper.CopyTo, FieldMapper.MultiFieldsNested classes/interfaces inherited from class org.opensearch.index.mapper.Mapper
Mapper.BuilderContextNested classes/interfaces inherited from interface org.opensearch.common.xcontent.ToXContent
ToXContent.DelegatingMapParams, ToXContent.MapParams, ToXContent.Params -
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCONTENT_TYPEstatic ParametrizedFieldMapper.TypeParserPARSERFields inherited from class org.opensearch.index.mapper.FieldMapper
COERCE_SETTING, copyTo, fieldType, IGNORE_MALFORMED_SETTING, mappedFieldType, multiFields -
Constructor Summary
Constructors Constructor Description SearchAsYouTypeFieldMapper(java.lang.String simpleName, org.opensearch.index.mapper.SearchAsYouTypeFieldMapper.SearchAsYouTypeFieldType mappedFieldType, FieldMapper.CopyTo copyTo, org.opensearch.index.mapper.SearchAsYouTypeFieldMapper.PrefixFieldMapper prefixField, org.opensearch.index.mapper.SearchAsYouTypeFieldMapper.ShingleFieldMapper[] shingleFields, SearchAsYouTypeFieldMapper.Builder builder) -
Method Summary
Modifier and Type Method Description protected java.lang.StringcontentType()org.opensearch.index.mapper.SearchAsYouTypeFieldMapper.SearchAsYouTypeFieldTypefieldType()ParametrizedFieldMapper.BuildergetMergeBuilder()static java.lang.StringgetShingleFieldName(java.lang.String parentField, int shingleSize)java.util.Iterator<Mapper>iterator()intmaxShingleSize()protected voidparseCreateField(ParseContext context)org.opensearch.index.mapper.SearchAsYouTypeFieldMapper.PrefixFieldMapperprefixField()org.opensearch.index.mapper.SearchAsYouTypeFieldMapper.ShingleFieldMapper[]shingleFields()Methods inherited from class org.opensearch.index.mapper.ParametrizedFieldMapper
doXContentBody, merge, mergeOptionsMethods inherited from class org.opensearch.index.mapper.FieldMapper
clone, copyTo, createFieldNamesField, docValuesByDefault, doValidate, doXContentAnalyzers, indexedByDefault, indexOptionToString, multiFields, name, parse, parsesArrayValue, storedByDefault, toXContent, typeName, validate
-
Field Details
-
CONTENT_TYPE
public static final java.lang.String CONTENT_TYPE- See Also:
- Constant Field Values
-
PARSER
-
-
Constructor Details
-
SearchAsYouTypeFieldMapper
public SearchAsYouTypeFieldMapper(java.lang.String simpleName, org.opensearch.index.mapper.SearchAsYouTypeFieldMapper.SearchAsYouTypeFieldType mappedFieldType, FieldMapper.CopyTo copyTo, org.opensearch.index.mapper.SearchAsYouTypeFieldMapper.PrefixFieldMapper prefixField, org.opensearch.index.mapper.SearchAsYouTypeFieldMapper.ShingleFieldMapper[] shingleFields, SearchAsYouTypeFieldMapper.Builder builder)
-
-
Method Details
-
parseCreateField
- Specified by:
parseCreateFieldin classFieldMapper- Throws:
java.io.IOException
-
contentType
protected java.lang.String contentType()- Specified by:
contentTypein classFieldMapper
-
getMergeBuilder
- Specified by:
getMergeBuilderin classParametrizedFieldMapper
-
getShingleFieldName
public static java.lang.String getShingleFieldName(java.lang.String parentField, int shingleSize) -
fieldType
- Overrides:
fieldTypein classFieldMapper
-
maxShingleSize
public int maxShingleSize() -
prefixField
-
shingleFields
-
iterator
- Specified by:
iteratorin interfacejava.lang.Iterable<Mapper>- Overrides:
iteratorin classFieldMapper
-