Skip to content

Commit db231e9

Browse files
Address Julie's comments 2
1 parent d5cc59f commit db231e9

File tree

7 files changed

+21
-28
lines changed

7 files changed

+21
-28
lines changed

server/src/main/java/org/elasticsearch/index/codec/CodecService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ public CodecService(@Nullable MapperService mapperService) {
3838
codecs.put(BEST_COMPRESSION_CODEC, new Lucene90Codec(Lucene90Codec.Mode.BEST_COMPRESSION));
3939
} else {
4040
codecs.put(DEFAULT_CODEC,
41-
new PerFieldMappingCodec(Lucene90Codec.Mode.BEST_SPEED, mapperService));
41+
new PerFieldMapperCodec(Lucene90Codec.Mode.BEST_SPEED, mapperService));
4242
codecs.put(BEST_COMPRESSION_CODEC,
43-
new PerFieldMappingCodec(Lucene90Codec.Mode.BEST_COMPRESSION, mapperService));
43+
new PerFieldMapperCodec(Lucene90Codec.Mode.BEST_COMPRESSION, mapperService));
4444
}
4545
codecs.put(LUCENE_DEFAULT_CODEC, Codec.getDefault());
4646
for (String codec : Codec.availableCodecs()) {

server/src/main/java/org/elasticsearch/index/codec/PerFieldMappingCodec.java renamed to server/src/main/java/org/elasticsearch/index/codec/PerFieldMapperCodec.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,24 @@
1818
import org.elasticsearch.index.mapper.MapperService;
1919

2020
/**
21-
* {@link PerFieldMappingCodec This Lucene codec} provides the default
21+
* {@link PerFieldMapperCodec This Lucene codec} provides the default
2222
* {@link PostingsFormat} and {@link KnnVectorsFormat} for Elasticsearch. It utilizes the
2323
* {@link MapperService} to lookup a {@link PostingsFormat} and {@link KnnVectorsFormat} per field. This
2424
* allows users to change the low level postings format and vectors format for individual fields
2525
* per index in real time via the mapping API. If no specific postings format or vector format is
2626
* configured for a specific field the default postings or vector format is used.
2727
*/
28-
public class PerFieldMappingCodec extends Lucene90Codec {
28+
public class PerFieldMapperCodec extends Lucene90Codec {
2929
private final MapperService mapperService;
3030

3131
private final DocValuesFormat docValuesFormat = new Lucene90DocValuesFormat();
3232

3333
static {
34-
assert Codec.forName(Lucene.LATEST_CODEC).getClass().isAssignableFrom(PerFieldMappingCodec.class) :
35-
"PerFieldMappingCodec must subclass the latest " + "lucene codec: " + Lucene.LATEST_CODEC;
34+
assert Codec.forName(Lucene.LATEST_CODEC).getClass().isAssignableFrom(PerFieldMapperCodec.class) :
35+
"PerFieldMapperCodec must subclass the latest " + "lucene codec: " + Lucene.LATEST_CODEC;
3636
}
3737

38-
public PerFieldMappingCodec(Mode compressionMode, MapperService mapperService) {
38+
public PerFieldMapperCodec(Mode compressionMode, MapperService mapperService) {
3939
super(compressionMode);
4040
this.mapperService = mapperService;
4141
}

server/src/main/java/org/elasticsearch/index/mapper/PerFieldKnnVectorsFormatFieldMapper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
public interface PerFieldKnnVectorsFormatFieldMapper {
1818

1919
/**
20-
* Returns the knn vectors format that is customly set up for this field or {@code null} if
21-
* the format is not set up or if the set up format matches the default format.
20+
* Returns the knn vectors format that is customly set up for this field
21+
* or {@code null} if the format is not set up.
2222
* @return the knn vectors format for the field, or {@code null} if the default format should be used
2323
*/
2424
KnnVectorsFormat getKnnVectorsFormatForField();

server/src/test/java/org/elasticsearch/index/codec/CodecTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class CodecTests extends ESTestCase {
4040

4141
public void testResolveDefaultCodecs() throws Exception {
4242
CodecService codecService = createCodecService();
43-
assertThat(codecService.codec("default"), instanceOf(PerFieldMappingCodec.class));
43+
assertThat(codecService.codec("default"), instanceOf(PerFieldMapperCodec.class));
4444
assertThat(codecService.codec("default"), instanceOf(Lucene90Codec.class));
4545
}
4646

server/src/test/java/org/elasticsearch/index/mapper/CompletionFieldMapperTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import org.elasticsearch.common.bytes.BytesReference;
3030
import org.elasticsearch.common.lucene.Lucene;
3131
import org.elasticsearch.common.unit.Fuzziness;
32-
import org.elasticsearch.index.codec.PerFieldMappingCodec;
32+
import org.elasticsearch.index.codec.PerFieldMapperCodec;
3333
import org.elasticsearch.xcontent.ToXContent;
3434
import org.elasticsearch.xcontent.XContentBuilder;
3535
import org.elasticsearch.xcontent.XContentFactory;
@@ -122,8 +122,8 @@ public void testPostingsFormat() throws IOException {
122122
MapperService mapperService = createMapperService(fieldMapping(this::minimalMapping));
123123
CodecService codecService = new CodecService(mapperService);
124124
Codec codec = codecService.codec("default");
125-
assertThat(codec, instanceOf(PerFieldMappingCodec.class));
126-
PerFieldMappingCodec perFieldCodec = (PerFieldMappingCodec) codec;
125+
assertThat(codec, instanceOf(PerFieldMapperCodec.class));
126+
PerFieldMapperCodec perFieldCodec = (PerFieldMapperCodec) codec;
127127
assertThat(perFieldCodec.getPostingsFormatForField("field"), instanceOf(Completion90PostingsFormat.class));
128128
}
129129

x-pack/plugin/vectors/src/main/java/org/elasticsearch/xpack/vectors/mapper/DenseVectorFieldMapper.java

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@
4949
import java.util.Objects;
5050
import java.util.function.Supplier;
5151

52-
import static org.apache.lucene.codecs.lucene90.Lucene90HnswVectorsFormat.DEFAULT_BEAM_WIDTH;
53-
import static org.apache.lucene.codecs.lucene90.Lucene90HnswVectorsFormat.DEFAULT_MAX_CONN;
5452
import static org.elasticsearch.common.xcontent.XContentParserUtils.ensureExpectedToken;
5553

5654
/**
@@ -60,7 +58,6 @@ public class DenseVectorFieldMapper extends FieldMapper implements PerFieldKnnVe
6058

6159
public static final String CONTENT_TYPE = "dense_vector";
6260
public static short MAX_DIMS_COUNT = 2048; //maximum allowed number of dimensions
63-
public static final IndexOptions DEFAULT_INDEX_OPTIONS = new HnswIndexOptions(DEFAULT_MAX_CONN, DEFAULT_BEAM_WIDTH);
6461
private static final byte INT_BYTES = 4;
6562

6663
private static DenseVectorFieldMapper toType(FieldMapper in) {
@@ -131,14 +128,14 @@ enum VectorSimilarity {
131128
}
132129
}
133130

134-
abstract static class IndexOptions implements ToXContent {
131+
private abstract static class IndexOptions implements ToXContent {
135132
final String type;
136133
IndexOptions(String type) {
137134
this.type = type;
138135
}
139136
}
140137

141-
static class HnswIndexOptions extends IndexOptions {
138+
private static class HnswIndexOptions extends IndexOptions {
142139
private final int m;
143140
private final int efConstruction;
144141

@@ -154,11 +151,7 @@ static IndexOptions parseIndexOptions(String fieldName, Map<String, ?> indexOpti
154151
int m = XContentMapValues.nodeIntegerValue(mNode);
155152
int efConstruction = XContentMapValues.nodeIntegerValue(efConstructionNode);
156153
MappingParser.checkNoRemainingFields(fieldName, indexOptionsMap);
157-
if (m == DEFAULT_MAX_CONN && efConstruction == DEFAULT_BEAM_WIDTH) {
158-
return DEFAULT_INDEX_OPTIONS;
159-
} else {
160-
return new HnswIndexOptions(m, efConstruction);
161-
}
154+
return new HnswIndexOptions(m, efConstruction);
162155
}
163156

164157
private HnswIndexOptions(int m, int efConstruction) {
@@ -372,7 +365,7 @@ public FieldMapper.Builder getMergeBuilder() {
372365
return new Builder(simpleName(), indexCreatedVersion).init(this);
373366
}
374367

375-
public static IndexOptions parseIndexOptions(String fieldName, Object propNode) {
368+
private static IndexOptions parseIndexOptions(String fieldName, Object propNode) {
376369
@SuppressWarnings("unchecked")
377370
Map<String, ?> indexOptionsMap = (Map<String, ?>) propNode;
378371
Object typeNode = indexOptionsMap.remove("type");
@@ -389,7 +382,7 @@ public static IndexOptions parseIndexOptions(String fieldName, Object propNode)
389382

390383
@Override
391384
public KnnVectorsFormat getKnnVectorsFormatForField() {
392-
if (indexOptions == null || indexOptions == DEFAULT_INDEX_OPTIONS) {
385+
if (indexOptions == null) {
393386
return null; // use default format
394387
} else {
395388
HnswIndexOptions hnswIndexOptions = (HnswIndexOptions) indexOptions;

x-pack/plugin/vectors/src/test/java/org/elasticsearch/xpack/vectors/mapper/DenseVectorFieldMapperTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import org.apache.lucene.util.BytesRef;
2121
import org.elasticsearch.Version;
2222
import org.elasticsearch.index.codec.CodecService;
23-
import org.elasticsearch.index.codec.PerFieldMappingCodec;
23+
import org.elasticsearch.index.codec.PerFieldMapperCodec;
2424
import org.elasticsearch.index.mapper.MapperService;
2525
import org.elasticsearch.xcontent.XContentBuilder;
2626
import org.elasticsearch.index.mapper.DocumentMapper;
@@ -381,8 +381,8 @@ public void testKnnVectorsFormat() throws IOException {
381381
}));
382382
CodecService codecService = new CodecService(mapperService);
383383
Codec codec = codecService.codec("default");
384-
assertThat(codec, instanceOf(PerFieldMappingCodec.class));
385-
KnnVectorsFormat knnVectorsFormat = ((PerFieldMappingCodec) codec).getKnnVectorsFormatForField("field");
384+
assertThat(codec, instanceOf(PerFieldMapperCodec.class));
385+
KnnVectorsFormat knnVectorsFormat = ((PerFieldMapperCodec) codec).getKnnVectorsFormatForField("field");
386386
assertThat(knnVectorsFormat, instanceOf(Lucene90HnswVectorsFormat.class));
387387
//TODO: add more assertions once LUCENE-10178 is implemented
388388
}

0 commit comments

Comments
 (0)