@Override public Mapper merge(Mapper mergeWith, boolean updateAllTypes) { if (!(mergeWith instanceof FieldAliasMapper)) { throw new IllegalArgumentException("Cannot merge a field alias mapping [" + name() + "] with a mapping that is not for a field alias."); } return mergeWith; }
private static void validateFieldAliasTargets(List<FieldAliasMapper> fieldAliasMappers, Map<String, ObjectMapper> fullPathObjectMappers) { for (FieldAliasMapper mapper : fieldAliasMappers) { String aliasName = mapper.name(); String path = mapper.path(); String aliasScope = getNestedScope(aliasName, fullPathObjectMappers); String pathScope = getNestedScope(path, fullPathObjectMappers); if (!Objects.equals(aliasScope, pathScope)) { StringBuilder message = new StringBuilder("Invalid [path] value [" + path + "] for field alias [" + aliasName + "]: an alias must have the same nested scope as its target. "); message.append(aliasScope == null ? "The alias is not nested" : "The alias's nested scope is [" + aliasScope + "]"); message.append(", but "); message.append(pathScope == null ? "the target is not nested." : "the target's nested scope is [" + pathScope + "]."); throw new IllegalArgumentException(message.toString()); } } }
public DocumentFieldMappers(Collection<FieldMapper> mappers, Collection<FieldAliasMapper> aliasMappers, Analyzer defaultIndex, Analyzer defaultSearch, Analyzer defaultSearchQuote) { Map<String, Mapper> fieldMappers = new HashMap<>(); Map<String, Analyzer> indexAnalyzers = new HashMap<>(); Map<String, Analyzer> searchAnalyzers = new HashMap<>(); Map<String, Analyzer> searchQuoteAnalyzers = new HashMap<>(); for (FieldMapper mapper : mappers) { fieldMappers.put(mapper.name(), mapper); MappedFieldType fieldType = mapper.fieldType(); put(indexAnalyzers, fieldType.name(), fieldType.indexAnalyzer(), defaultIndex); put(searchAnalyzers, fieldType.name(), fieldType.searchAnalyzer(), defaultSearch); put(searchQuoteAnalyzers, fieldType.name(), fieldType.searchQuoteAnalyzer(), defaultSearchQuote); } for (FieldAliasMapper aliasMapper : aliasMappers) { fieldMappers.put(aliasMapper.name(), aliasMapper); } this.fieldMappers = Collections.unmodifiableMap(fieldMappers); this.indexAnalyzer = new FieldNameAnalyzer(indexAnalyzers); this.searchAnalyzer = new FieldNameAnalyzer(searchAnalyzers); this.searchQuoteAnalyzer = new FieldNameAnalyzer(searchQuoteAnalyzers); }
String aliasName = fieldAliasMapper.name(); String path = fieldAliasMapper.path();
@Override public Mapper merge(Mapper mergeWith, boolean updateAllTypes) { if (!(mergeWith instanceof FieldAliasMapper)) { throw new IllegalArgumentException("Cannot merge a field alias mapping [" + name() + "] with a mapping that is not for a field alias."); } return mergeWith; }
@Override public Mapper merge(Mapper mergeWith, boolean updateAllTypes) { if (!(mergeWith instanceof FieldAliasMapper)) { throw new IllegalArgumentException("Cannot merge a field alias mapping [" + name() + "] with a mapping that is not for a field alias."); } return mergeWith; }
private static void validateFieldAliasTargets(List<FieldAliasMapper> fieldAliasMappers, Map<String, ObjectMapper> fullPathObjectMappers) { for (FieldAliasMapper mapper : fieldAliasMappers) { String aliasName = mapper.name(); String path = mapper.path(); String aliasScope = getNestedScope(aliasName, fullPathObjectMappers); String pathScope = getNestedScope(path, fullPathObjectMappers); if (!Objects.equals(aliasScope, pathScope)) { StringBuilder message = new StringBuilder("Invalid [path] value [" + path + "] for field alias [" + aliasName + "]: an alias must have the same nested scope as its target. "); message.append(aliasScope == null ? "The alias is not nested" : "The alias's nested scope is [" + aliasScope + "]"); message.append(", but "); message.append(pathScope == null ? "the target is not nested." : "the target's nested scope is [" + pathScope + "]."); throw new IllegalArgumentException(message.toString()); } } }
private static void validateFieldAliasTargets(List<FieldAliasMapper> fieldAliasMappers, Map<String, ObjectMapper> fullPathObjectMappers) { for (FieldAliasMapper mapper : fieldAliasMappers) { String aliasName = mapper.name(); String path = mapper.path(); String aliasScope = getNestedScope(aliasName, fullPathObjectMappers); String pathScope = getNestedScope(path, fullPathObjectMappers); if (!Objects.equals(aliasScope, pathScope)) { StringBuilder message = new StringBuilder("Invalid [path] value [" + path + "] for field alias [" + aliasName + "]: an alias must have the same nested scope as its target. "); message.append(aliasScope == null ? "The alias is not nested" : "The alias's nested scope is [" + aliasScope + "]"); message.append(", but "); message.append(pathScope == null ? "the target is not nested." : "the target's nested scope is [" + pathScope + "]."); throw new IllegalArgumentException(message.toString()); } } }
public DocumentFieldMappers(Collection<FieldMapper> mappers, Collection<FieldAliasMapper> aliasMappers, Analyzer defaultIndex, Analyzer defaultSearch, Analyzer defaultSearchQuote) { Map<String, Mapper> fieldMappers = new HashMap<>(); Map<String, Analyzer> indexAnalyzers = new HashMap<>(); Map<String, Analyzer> searchAnalyzers = new HashMap<>(); Map<String, Analyzer> searchQuoteAnalyzers = new HashMap<>(); for (FieldMapper mapper : mappers) { fieldMappers.put(mapper.name(), mapper); MappedFieldType fieldType = mapper.fieldType(); put(indexAnalyzers, fieldType.name(), fieldType.indexAnalyzer(), defaultIndex); put(searchAnalyzers, fieldType.name(), fieldType.searchAnalyzer(), defaultSearch); put(searchQuoteAnalyzers, fieldType.name(), fieldType.searchQuoteAnalyzer(), defaultSearchQuote); } for (FieldAliasMapper aliasMapper : aliasMappers) { fieldMappers.put(aliasMapper.name(), aliasMapper); } this.fieldMappers = Collections.unmodifiableMap(fieldMappers); this.indexAnalyzer = new FieldNameAnalyzer(indexAnalyzers); this.searchAnalyzer = new FieldNameAnalyzer(searchAnalyzers); this.searchQuoteAnalyzer = new FieldNameAnalyzer(searchQuoteAnalyzers); }
public DocumentFieldMappers(Collection<FieldMapper> mappers, Collection<FieldAliasMapper> aliasMappers, Analyzer defaultIndex, Analyzer defaultSearch, Analyzer defaultSearchQuote) { Map<String, Mapper> fieldMappers = new HashMap<>(); Map<String, Analyzer> indexAnalyzers = new HashMap<>(); Map<String, Analyzer> searchAnalyzers = new HashMap<>(); Map<String, Analyzer> searchQuoteAnalyzers = new HashMap<>(); for (FieldMapper mapper : mappers) { fieldMappers.put(mapper.name(), mapper); MappedFieldType fieldType = mapper.fieldType(); put(indexAnalyzers, fieldType.name(), fieldType.indexAnalyzer(), defaultIndex); put(searchAnalyzers, fieldType.name(), fieldType.searchAnalyzer(), defaultSearch); put(searchQuoteAnalyzers, fieldType.name(), fieldType.searchQuoteAnalyzer(), defaultSearchQuote); } for (FieldAliasMapper aliasMapper : aliasMappers) { fieldMappers.put(aliasMapper.name(), aliasMapper); } this.fieldMappers = Collections.unmodifiableMap(fieldMappers); this.indexAnalyzer = new FieldNameAnalyzer(indexAnalyzers); this.searchAnalyzer = new FieldNameAnalyzer(searchAnalyzers); this.searchQuoteAnalyzer = new FieldNameAnalyzer(searchQuoteAnalyzers); }
String aliasName = fieldAliasMapper.name(); String path = fieldAliasMapper.path();
String aliasName = fieldAliasMapper.name(); String path = fieldAliasMapper.path();