Package org.elasticsearch.join.mapper
Class ParentJoinFieldMapper
- java.lang.Object
-
- org.elasticsearch.index.mapper.Mapper
-
- org.elasticsearch.index.mapper.FieldMapper
-
- org.elasticsearch.join.mapper.ParentJoinFieldMapper
-
- All Implemented Interfaces:
java.lang.Cloneable,java.lang.Iterable<Mapper>,ToXContent,ToXContentFragment
public final class ParentJoinFieldMapper extends FieldMapper
AFieldMapperthat creates hierarchical joins (parent-join) between documents in the same index. Only one parent-join field can be defined per index. The verification of this assumption is done through theMetaJoinFieldMapperwhich declares a meta field called "_parent_join". This field is only used to ensure that there is a single parent-join field defined in the mapping and cannot be used to index or query any data.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classParentJoinFieldMapper.Builderstatic classParentJoinFieldMapper.Defaultsstatic classParentJoinFieldMapper.JoinFieldTypestatic classParentJoinFieldMapper.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_TYPEstatic java.lang.StringNAME-
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 Modifier Constructor Description protectedParentJoinFieldMapper(java.lang.String simpleName, MappedFieldType fieldType, Settings indexSettings, MetaJoinFieldMapper uniqueFieldMapper, java.util.List<ParentIdFieldMapper> parentIdFields, boolean eagerGlobalOrdinals)
-
Method Summary
Modifier and Type Method Description protected ParentJoinFieldMapperclone()protected java.lang.StringcontentType()protected voiddoMerge(Mapper mergeWith, boolean updateAllTypes)protected voiddoXContentBody(XContentBuilder builder, boolean includeDefaults, ToXContent.Params params)ParentJoinFieldMapper.JoinFieldTypefieldType()static ParentJoinFieldMappergetMapper(MapperService service)Returns theParentJoinFieldMapperassociated with theserviceor null if there is no parent-join field in this mapping.ParentIdFieldMappergetParentIdFieldMapper(java.lang.String name, boolean isParent)Returns the parent Id field mapper associated with a parentnameifisParentis true and a childnameotherwise.booleanhasChild(java.lang.String name)Returns true ifnameis a child name in the field.booleanhasParent(java.lang.String name)Returns true ifnameis a parent name in the field.java.util.Iterator<Mapper>iterator()voidparse(ParseContext context)protected voidparseCreateField(ParseContext context, java.util.List<IndexableField> fields)FieldMapperupdateFieldType(java.util.Map<java.lang.String,MappedFieldType> fullNameToFieldType)-
Methods inherited from class org.elasticsearch.index.mapper.FieldMapper
copyTo, createFieldNamesField, doXContentAnalyzers, doXContentDocValues, indexOptionToString, merge, name, 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
-
NAME
public static final java.lang.String NAME
- See Also:
- Constant Field Values
-
CONTENT_TYPE
public static final java.lang.String CONTENT_TYPE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ParentJoinFieldMapper
protected ParentJoinFieldMapper(java.lang.String simpleName, MappedFieldType fieldType, Settings indexSettings, MetaJoinFieldMapper uniqueFieldMapper, java.util.List<ParentIdFieldMapper> parentIdFields, boolean eagerGlobalOrdinals)
-
-
Method Detail
-
getMapper
public static ParentJoinFieldMapper getMapper(MapperService service)
Returns theParentJoinFieldMapperassociated with theserviceor null if there is no parent-join field in this mapping.
-
contentType
protected java.lang.String contentType()
- Specified by:
contentTypein classFieldMapper
-
clone
protected ParentJoinFieldMapper clone()
- Overrides:
clonein classFieldMapper
-
fieldType
public ParentJoinFieldMapper.JoinFieldType fieldType()
- Overrides:
fieldTypein classFieldMapper
-
iterator
public java.util.Iterator<Mapper> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<Mapper>- Overrides:
iteratorin classFieldMapper
-
hasParent
public boolean hasParent(java.lang.String name)
Returns true ifnameis a parent name in the field.
-
hasChild
public boolean hasChild(java.lang.String name)
Returns true ifnameis a child name in the field.
-
getParentIdFieldMapper
public ParentIdFieldMapper getParentIdFieldMapper(java.lang.String name, boolean isParent)
Returns the parent Id field mapper associated with a parentnameifisParentis true and a childnameotherwise.
-
doMerge
protected void doMerge(Mapper mergeWith, boolean updateAllTypes)
- Overrides:
doMergein classFieldMapper
-
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
-
parse
public void parse(ParseContext context) throws java.io.IOException
- Overrides:
parsein classFieldMapper- Throws:
java.io.IOException
-
doXContentBody
protected void doXContentBody(XContentBuilder builder, boolean includeDefaults, ToXContent.Params params) throws java.io.IOException
- Overrides:
doXContentBodyin classFieldMapper- Throws:
java.io.IOException
-
-