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<Mapper>,ToXContent,ToXContentFragment
public class SearchAsYouTypeFieldMapper extends 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.Defaultsstatic classSearchAsYouTypeFieldMapper.TypeParser-
Nested classes/interfaces inherited from class org.elasticsearch.index.mapper.FieldMapper
FieldMapper.CopyTo, FieldMapper.MultiFields
-
Nested classes/interfaces inherited from class org.elasticsearch.index.mapper.Mapper
Mapper.BuilderContext
-
Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
ToXContent.DelegatingMapParams, ToXContent.MapParams, ToXContent.Params
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCONTENT_TYPE-
Fields inherited from class org.elasticsearch.index.mapper.FieldMapper
COERCE_SETTING, copyTo, defaultFieldType, fieldType, IGNORE_MALFORMED_SETTING, indexCreatedVersion, multiFields
-
Fields 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 fieldType, Settings indexSettings, FieldMapper.CopyTo copyTo, int maxShingleSize, org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.PrefixFieldMapper prefixField, org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.ShingleFieldMapper[] shingleFields)
-
Method Summary
Modifier and Type Method Description protected java.lang.StringcontentType()protected voiddoMerge(Mapper mergeWith)protected voiddoXContentBody(XContentBuilder builder, boolean includeDefaults, ToXContent.Params params)org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.SearchAsYouTypeFieldTypefieldType()static java.lang.StringgetShingleFieldName(java.lang.String parentField, int shingleSize)java.util.Iterator<Mapper>iterator()intmaxShingleSize()protected voidparseCreateField(ParseContext context, java.util.List<IndexableField> fields)org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.PrefixFieldMapperprefixField()org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.ShingleFieldMapper[]shingleFields()FieldMapperupdateFieldType(java.util.Map<java.lang.String,MappedFieldType> fullNameToFieldType)-
Methods inherited from class org.elasticsearch.index.mapper.FieldMapper
clone, copyTo, createFieldNamesField, doXContentAnalyzers, doXContentDocValues, indexOptionToString, merge, name, parse, termVectorOptionsToString, toXContent, typeName
-
Methods inherited from class org.elasticsearch.index.mapper.Mapper
simpleName
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentFragment
isFragment
-
-
-
-
Field Detail
-
CONTENT_TYPE
public static final java.lang.String CONTENT_TYPE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SearchAsYouTypeFieldMapper
public SearchAsYouTypeFieldMapper(java.lang.String simpleName, org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.SearchAsYouTypeFieldType fieldType, Settings indexSettings, FieldMapper.CopyTo copyTo, int maxShingleSize, org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.PrefixFieldMapper prefixField, org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.ShingleFieldMapper[] shingleFields)
-
-
Method Detail
-
updateFieldType
public FieldMapper updateFieldType(java.util.Map<java.lang.String,MappedFieldType> fullNameToFieldType)
- Overrides:
updateFieldTypein classFieldMapper
-
parseCreateField
protected void parseCreateField(ParseContext context, java.util.List<IndexableField> fields) throws java.io.IOException
- Specified by:
parseCreateFieldin classFieldMapper- Throws:
java.io.IOException
-
contentType
protected java.lang.String contentType()
- Specified by:
contentTypein classFieldMapper
-
doMerge
protected void doMerge(Mapper mergeWith)
- Overrides:
doMergein classFieldMapper
-
getShingleFieldName
public static java.lang.String getShingleFieldName(java.lang.String parentField, int shingleSize)
-
fieldType
public org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.SearchAsYouTypeFieldType fieldType()
- Overrides:
fieldTypein classFieldMapper
-
maxShingleSize
public int maxShingleSize()
-
prefixField
public org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.PrefixFieldMapper prefixField()
-
shingleFields
public org.elasticsearch.index.mapper.SearchAsYouTypeFieldMapper.ShingleFieldMapper[] shingleFields()
-
doXContentBody
protected void doXContentBody(XContentBuilder builder, boolean includeDefaults, ToXContent.Params params) throws java.io.IOException
- Overrides:
doXContentBodyin classFieldMapper- Throws:
java.io.IOException
-
iterator
public java.util.Iterator<Mapper> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<Mapper>- Overrides:
iteratorin classFieldMapper
-
-