Remove some legacy code from when indices could have multiple types. (#35815)

This code is only necessary up to indices created with version 5.x while 7.0
only supports indices created with 6.x or 7.0.
This commit is contained in:
Adrien Grand 2018-11-23 15:15:26 +01:00 committed by GitHub
parent 2970abfce9
commit 5b370316a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 15 deletions

View File

@ -445,13 +445,7 @@ final class DocumentParser {
if (idField != null) { if (idField != null) {
// We just need to store the id as indexed field, so that IndexWriter#deleteDocuments(term) can then // We just need to store the id as indexed field, so that IndexWriter#deleteDocuments(term) can then
// delete it when the root document is deleted too. // delete it when the root document is deleted too.
if (idField.stringValue() != null) { nestedDoc.add(new Field(IdFieldMapper.NAME, idField.binaryValue(), IdFieldMapper.Defaults.NESTED_FIELD_TYPE));
// backward compat with 5.x
// TODO: Remove on 7.0
nestedDoc.add(new Field(IdFieldMapper.NAME, idField.stringValue(), IdFieldMapper.Defaults.NESTED_FIELD_TYPE));
} else {
nestedDoc.add(new Field(IdFieldMapper.NAME, idField.binaryValue(), IdFieldMapper.Defaults.NESTED_FIELD_TYPE));
}
} else { } else {
throw new IllegalStateException("The root document of a nested document should have an _id field"); throw new IllegalStateException("The root document of a nested document should have an _id field");
} }

View File

@ -43,7 +43,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.IndexSettings;
import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.IndexFieldData;
import org.elasticsearch.index.fielddata.plain.ConstantIndexFieldData; import org.elasticsearch.index.fielddata.plain.ConstantIndexFieldData;
import org.elasticsearch.index.fielddata.plain.DocValuesIndexFieldData;
import org.elasticsearch.index.query.QueryShardContext; import org.elasticsearch.index.query.QueryShardContext;
import java.io.IOException; import java.io.IOException;
@ -114,13 +113,8 @@ public class TypeFieldMapper extends MetadataFieldMapper {
@Override @Override
public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) {
if (hasDocValues()) { Function<MapperService, String> typeFunction = mapperService -> mapperService.documentMapper().type();
return new DocValuesIndexFieldData.Builder(); return new ConstantIndexFieldData.Builder(typeFunction);
} else {
// means the index has a single type and the type field is implicit
Function<MapperService, String> typeFunction = mapperService -> mapperService.documentMapper().type();
return new ConstantIndexFieldData.Builder(typeFunction);
}
} }
@Override @Override