Package org.elasticsearch.index.mapper
Class SearchAsYouTypeFieldMapper
java.lang.Object
org.elasticsearch.index.mapper.Mapper
org.elasticsearch.index.mapper.FieldMapper
org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper
- All Implemented Interfaces:
java.lang.Cloneable,java.lang.Iterable<org.elasticsearch.index.mapper.Mapper>,org.elasticsearch.common.xcontent.ToXContent,org.elasticsearch.common.xcontent.ToXContentFragment
public class SearchAsYouTypeFieldMapper
extends org.elasticsearch.index.mapper.FieldMapper
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.elasticsearch.index.mapper.FieldMapper
org.elasticsearch.index.mapper.FieldMapper.Conflicts, org.elasticsearch.index.mapper.FieldMapper.CopyTo, org.elasticsearch.index.mapper.FieldMapper.MergeValidator<T extends java.lang.Object>, org.elasticsearch.index.mapper.FieldMapper.MultiFields, org.elasticsearch.index.mapper.FieldMapper.Parameter<T extends java.lang.Object>, org.elasticsearch.index.mapper.FieldMapper.Serializer<T extends java.lang.Object>, org.elasticsearch.index.mapper.FieldMapper.SerializerCheck<T extends java.lang.Object>, org.elasticsearch.index.mapper.FieldMapper.TypeParserNested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
org.elasticsearch.common.xcontent.ToXContent.DelegatingMapParams, org.elasticsearch.common.xcontent.ToXContent.MapParams, org.elasticsearch.common.xcontent.ToXContent.Params -
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCONTENT_TYPEstatic org.elasticsearch.index.mapper.FieldMapper.TypeParserPARSERFields inherited from class org.elasticsearch.index.mapper.FieldMapper
COERCE_SETTING, copyTo, hasScript, IGNORE_MALFORMED_SETTING, indexAnalyzers, mappedFieldType, multiFields, onScriptErrorFields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS -
Constructor Summary
Constructors Constructor Description SearchAsYouTypeFieldMapper(java.lang.String simpleName, org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.SearchAsYouTypeFieldType mappedFieldType, org.elasticsearch.index.mapper.FieldMapper.CopyTo copyTo, java.util.Map<java.lang.String,org.elasticsearch.index.analysis.NamedAnalyzer> indexAnalyzers, org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.PrefixFieldMapper prefixField, org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.ShingleFieldMapper[] shingleFields, SearchAsYouTypeFieldMapper.Builder builder) -
Method Summary
Modifier and Type Method Description protected java.lang.StringcontentType()org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.SearchAsYouTypeFieldTypefieldType()org.elasticsearch.index.mapper.FieldMapper.BuildergetMergeBuilder()static java.lang.StringgetShingleFieldName(java.lang.String parentField, int shingleSize)java.util.Iterator<org.elasticsearch.index.mapper.Mapper>iterator()intmaxShingleSize()protected voidparseCreateField(org.elasticsearch.index.mapper.ParseContext context)org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.PrefixFieldMapperprefixField()org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.ShingleFieldMapper[]shingleFields()Methods inherited from class org.elasticsearch.index.mapper.FieldMapper
checkIncomingMergeType, copyTo, createFieldNamesField, doValidate, doXContentBody, executeScript, hasScript, indexAnalyzers, indexScriptValues, merge, multiFields, name, parse, parsesArrayValue, toXContent, typeName, validateMethods inherited from class org.elasticsearch.index.mapper.Mapper
simpleNameMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface org.elasticsearch.common.xcontent.ToXContentFragment
isFragment
-
Field Details
-
CONTENT_TYPE
public static final java.lang.String CONTENT_TYPE- See Also:
- Constant Field Values
-
PARSER
public static final org.elasticsearch.index.mapper.FieldMapper.TypeParser PARSER
-
-
Constructor Details
-
SearchAsYouTypeFieldMapper
public SearchAsYouTypeFieldMapper(java.lang.String simpleName, org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.SearchAsYouTypeFieldType mappedFieldType, org.elasticsearch.index.mapper.FieldMapper.CopyTo copyTo, java.util.Map<java.lang.String,org.elasticsearch.index.analysis.NamedAnalyzer> indexAnalyzers, org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.PrefixFieldMapper prefixField, org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.ShingleFieldMapper[] shingleFields, SearchAsYouTypeFieldMapper.Builder builder)
-
-
Method Details
-
parseCreateField
protected void parseCreateField(org.elasticsearch.index.mapper.ParseContext context) throws java.io.IOException- Specified by:
parseCreateFieldin classorg.elasticsearch.index.mapper.FieldMapper- Throws:
java.io.IOException
-
contentType
protected java.lang.String contentType()- Specified by:
contentTypein classorg.elasticsearch.index.mapper.FieldMapper
-
getMergeBuilder
public org.elasticsearch.index.mapper.FieldMapper.Builder getMergeBuilder()- Specified by:
getMergeBuilderin classorg.elasticsearch.index.mapper.FieldMapper
-
getShingleFieldName
public static java.lang.String getShingleFieldName(java.lang.String parentField, int shingleSize) -
fieldType
public org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.SearchAsYouTypeFieldType fieldType()- Overrides:
fieldTypein classorg.elasticsearch.index.mapper.FieldMapper
-
maxShingleSize
public int maxShingleSize() -
prefixField
public org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.PrefixFieldMapper prefixField() -
shingleFields
public org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.ShingleFieldMapper[] shingleFields() -
iterator
public java.util.Iterator<org.elasticsearch.index.mapper.Mapper> iterator()- Specified by:
iteratorin interfacejava.lang.Iterable<org.elasticsearch.index.mapper.Mapper>- Overrides:
iteratorin classorg.elasticsearch.index.mapper.FieldMapper
-