Package org.elasticsearch.index.mapper
Class MapperService
- java.lang.Object
-
- org.elasticsearch.index.AbstractIndexComponent
-
- org.elasticsearch.index.mapper.MapperService
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,IndexComponent
public class MapperService extends AbstractIndexComponent implements java.io.Closeable
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMapperService.MergeReasonThe reason why a mapping is being merged.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringDEFAULT_MAPPINGstatic booleanINDEX_MAPPER_DYNAMIC_DEFAULTstatic Setting<java.lang.Boolean>INDEX_MAPPER_DYNAMIC_SETTINGDeprecated.static Setting<java.lang.Long>INDEX_MAPPING_DEPTH_LIMIT_SETTINGstatic Setting<java.lang.Long>INDEX_MAPPING_NESTED_DOCS_LIMIT_SETTINGstatic Setting<java.lang.Long>INDEX_MAPPING_NESTED_FIELDS_LIMIT_SETTINGstatic Setting<java.lang.Long>INDEX_MAPPING_TOTAL_FIELDS_LIMIT_SETTINGstatic java.lang.StringSINGLE_MAPPING_NAME-
Fields inherited from class org.elasticsearch.index.AbstractIndexComponent
indexSettings, logger
-
-
Constructor Summary
Constructors Constructor Description MapperService(IndexSettings indexSettings, IndexAnalyzers indexAnalyzers, NamedXContentRegistry xContentRegistry, SimilarityService similarityService, MapperRegistry mapperRegistry, java.util.function.Supplier<QueryShardContext> queryShardContextSupplier)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()DocumentMapperdocumentMapper()Return the document mapper, ornullif no mapping has been put yet.DocumentMapperdocumentMapper(java.lang.String type)Return theDocumentMapperfor the given type.DocumentMapperParserdocumentMapperParser()DocumentMapperForTypedocumentMapperWithAutoCreate(java.lang.String type)Returns the document mapper created, including a mapping update if the type has been dynamically created.java.lang.Iterable<MappedFieldType>fieldTypes()Returns all mapped field types.MappedFieldTypefullName(java.lang.String fullName)Returns theMappedFieldTypefor the give fullName.static java.lang.String[]getAllMetaFields()IndexAnalyzersgetIndexAnalyzers()NamedAnalyzergetNamedAnalyzer(java.lang.String analyzerName)ObjectMappergetObjectMapper(java.lang.String name)booleanhasNested()org.apache.lucene.analysis.AnalyzerindexAnalyzer()static booleanisMetadataField(java.lang.String fieldName)DocumentMappermerge(java.lang.String type, CompressedXContent mappingSource, MapperService.MergeReason reason)voidmerge(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> mappings, MapperService.MergeReason reason)voidmerge(IndexMetaData indexMetaData, MapperService.MergeReason reason)DocumentMapperparse(java.lang.String mappingType, CompressedXContent mappingSource, boolean applyDefault)static java.util.Map<java.lang.String,java.lang.Object>parseMapping(NamedXContentRegistry xContentRegistry, java.lang.String mappingSource)Parses the mappings (formatted as JSON) into a maporg.apache.lucene.analysis.AnalyzersearchAnalyzer()org.apache.lucene.analysis.AnalyzersearchQuoteAnalyzer()java.util.Collection<java.lang.String>simpleMatchToFullName(java.lang.String pattern)Returns all the fields that match the given pattern.MappedFieldTypeunmappedFieldType(java.lang.String type)Given a type (eg.booleanupdateMapping(IndexMetaData currentIndexMetaData, IndexMetaData newIndexMetaData)Update mapping by only merging the metadata that is different between received and stored entries-
Methods inherited from class org.elasticsearch.index.AbstractIndexComponent
getIndexSettings, index
-
-
-
-
Field Detail
-
DEFAULT_MAPPING
public static final java.lang.String DEFAULT_MAPPING
- See Also:
- Constant Field Values
-
SINGLE_MAPPING_NAME
public static final java.lang.String SINGLE_MAPPING_NAME
- See Also:
- Constant Field Values
-
INDEX_MAPPING_NESTED_FIELDS_LIMIT_SETTING
public static final Setting<java.lang.Long> INDEX_MAPPING_NESTED_FIELDS_LIMIT_SETTING
-
INDEX_MAPPING_NESTED_DOCS_LIMIT_SETTING
public static final Setting<java.lang.Long> INDEX_MAPPING_NESTED_DOCS_LIMIT_SETTING
-
INDEX_MAPPING_TOTAL_FIELDS_LIMIT_SETTING
public static final Setting<java.lang.Long> INDEX_MAPPING_TOTAL_FIELDS_LIMIT_SETTING
-
INDEX_MAPPING_DEPTH_LIMIT_SETTING
public static final Setting<java.lang.Long> INDEX_MAPPING_DEPTH_LIMIT_SETTING
-
INDEX_MAPPER_DYNAMIC_DEFAULT
public static final boolean INDEX_MAPPER_DYNAMIC_DEFAULT
- See Also:
- Constant Field Values
-
INDEX_MAPPER_DYNAMIC_SETTING
@Deprecated public static final Setting<java.lang.Boolean> INDEX_MAPPER_DYNAMIC_SETTING
Deprecated.
-
-
Constructor Detail
-
MapperService
public MapperService(IndexSettings indexSettings, IndexAnalyzers indexAnalyzers, NamedXContentRegistry xContentRegistry, SimilarityService similarityService, MapperRegistry mapperRegistry, java.util.function.Supplier<QueryShardContext> queryShardContextSupplier)
-
-
Method Detail
-
hasNested
public boolean hasNested()
-
getIndexAnalyzers
public IndexAnalyzers getIndexAnalyzers()
-
getNamedAnalyzer
public NamedAnalyzer getNamedAnalyzer(java.lang.String analyzerName)
-
documentMapperParser
public DocumentMapperParser documentMapperParser()
-
parseMapping
public static java.util.Map<java.lang.String,java.lang.Object> parseMapping(NamedXContentRegistry xContentRegistry, java.lang.String mappingSource) throws java.lang.Exception
Parses the mappings (formatted as JSON) into a map- Throws:
java.lang.Exception
-
updateMapping
public boolean updateMapping(IndexMetaData currentIndexMetaData, IndexMetaData newIndexMetaData) throws java.io.IOException
Update mapping by only merging the metadata that is different between received and stored entries- Throws:
java.io.IOException
-
merge
public void merge(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>> mappings, MapperService.MergeReason reason)
-
merge
public void merge(IndexMetaData indexMetaData, MapperService.MergeReason reason)
-
merge
public DocumentMapper merge(java.lang.String type, CompressedXContent mappingSource, MapperService.MergeReason reason)
-
parse
public DocumentMapper parse(java.lang.String mappingType, CompressedXContent mappingSource, boolean applyDefault) throws MapperParsingException
- Throws:
MapperParsingException
-
documentMapper
public DocumentMapper documentMapper()
Return the document mapper, ornullif no mapping has been put yet.
-
documentMapper
public DocumentMapper documentMapper(java.lang.String type)
Return theDocumentMapperfor the given type. By using the special "_default_" type, you can get aDocumentMapperfor the default mapping.
-
documentMapperWithAutoCreate
public DocumentMapperForType documentMapperWithAutoCreate(java.lang.String type)
Returns the document mapper created, including a mapping update if the type has been dynamically created.
-
fullName
public MappedFieldType fullName(java.lang.String fullName)
Returns theMappedFieldTypefor the give fullName. If multiple types have fields with the same full name, the first is returned.
-
simpleMatchToFullName
public java.util.Collection<java.lang.String> simpleMatchToFullName(java.lang.String pattern)
Returns all the fields that match the given pattern. If the pattern is prefixed with a type then the fields will be returned with a type prefix.
-
fieldTypes
public java.lang.Iterable<MappedFieldType> fieldTypes()
Returns all mapped field types.
-
getObjectMapper
public ObjectMapper getObjectMapper(java.lang.String name)
-
unmappedFieldType
public MappedFieldType unmappedFieldType(java.lang.String type)
Given a type (eg. long, string, ...), return an anonymous field mapper that can be used for search operations.
-
indexAnalyzer
public org.apache.lucene.analysis.Analyzer indexAnalyzer()
-
searchAnalyzer
public org.apache.lucene.analysis.Analyzer searchAnalyzer()
-
searchQuoteAnalyzer
public org.apache.lucene.analysis.Analyzer searchQuoteAnalyzer()
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
isMetadataField
public static boolean isMetadataField(java.lang.String fieldName)
- Returns:
- Whether a field is a metadata field.
-
getAllMetaFields
public static java.lang.String[] getAllMetaFields()
-
-