@Override public void checkCompatibility( MappedFieldType fieldType, List<String> conflicts, boolean strict) { super.checkCompatibility(fieldType, conflicts, strict); CompletionFieldType other = (CompletionFieldType) fieldType; if (analyzingSuggestLookupProvider.hasPayloads() != other.analyzingSuggestLookupProvider.hasPayloads()) { conflicts.add("mapper [" + names().fullName() + "] has different payload values"); } if (analyzingSuggestLookupProvider.getPreservePositionsIncrements() != other.analyzingSuggestLookupProvider.getPreservePositionsIncrements()) { conflicts.add( "mapper [" + names().fullName() + "] has different 'preserve_position_increments' values"); } if (analyzingSuggestLookupProvider.getPreserveSep() != other.analyzingSuggestLookupProvider.getPreserveSep()) { conflicts.add( "mapper [" + names().fullName() + "] has different 'preserve_separators' values"); } if (!ContextMapping.mappingsAreEqual(getContextMapping(), other.getContextMapping())) { conflicts.add("mapper [" + names().fullName() + "] has different 'context_mapping' values"); } }
@Override public CompletionFieldMapper build(Mapper.BuilderContext context) { setupFieldType(context); CompletionFieldType completionFieldType = (CompletionFieldType) fieldType; completionFieldType.setProvider( new AnalyzingCompletionLookupProvider( preserveSeparators, false, preservePositionIncrements, payloads)); completionFieldType.setContextMapping(contextMapping); return new CompletionFieldMapper( fieldType, maxInputLength, context.indexSettings(), multiFieldsBuilder.build(this, context), copyTo); }
static { FIELD_TYPE.setOmitNorms(true); FIELD_TYPE.freeze(); }