Skip to content

Commit 3f19c9a

Browse files
committed
Tidy up some noise during indexing with synthetic source. (elastic#123724)
1 parent 5b351f1 commit 3f19c9a

File tree

4 files changed

+11
-4
lines changed

4 files changed

+11
-4
lines changed

modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/MatchOnlyTextFieldMapper.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ public static class MatchOnlyTextFieldType extends StringFieldType {
157157

158158
private final Analyzer indexAnalyzer;
159159
private final TextFieldType textFieldType;
160+
private final String originalName;
160161

161162
public MatchOnlyTextFieldType(
162163
String name,
@@ -168,6 +169,7 @@ public MatchOnlyTextFieldType(
168169
super(name, true, false, false, tsi, meta);
169170
this.indexAnalyzer = Objects.requireNonNull(indexAnalyzer);
170171
this.textFieldType = new TextFieldType(name, isSyntheticSource);
172+
this.originalName = isSyntheticSource ? name() + "._original" : null;
171173
}
172174

173175
public MatchOnlyTextFieldType(String name) {
@@ -394,7 +396,7 @@ protected BytesRef storedToBytesRef(Object stored) {
394396
}
395397

396398
private String storedFieldNameForSyntheticSource() {
397-
return name() + "._original";
399+
return originalName;
398400
}
399401
}
400402

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ void addToLuceneDocument(DocumentParserContext context) throws IOException {
6363
offsetToOrd[nullOffset] = -1;
6464
}
6565

66-
try (var streamOutput = new BytesStreamOutput()) {
66+
int expectedSize = offsetToOrd.length + 1; // Initialize buffer to avoid unnecessary resizing, assume 1 byte per offset + size.
67+
try (var streamOutput = new BytesStreamOutput(expectedSize)) {
6768
// Could just use vint for array length, but this allows for decoding my_field: null as -1
6869
streamOutput.writeVInt(BitUtil.zigZagEncode(offsetToOrd.length));
6970
for (int ord : offsetToOrd) {

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -943,6 +943,7 @@ public boolean hasNormalizer() {
943943
private final int ignoreAbove;
944944
private final String offsetsFieldName;
945945
private final SourceKeepMode indexSourceKeepMode;
946+
private final String originalName;
946947

947948
private KeywordFieldMapper(
948949
String simpleName,
@@ -971,6 +972,7 @@ private KeywordFieldMapper(
971972
this.ignoreAbove = builder.ignoreAbove.getValue();
972973
this.offsetsFieldName = offsetsFieldName;
973974
this.indexSourceKeepMode = indexSourceKeepMode;
975+
this.originalName = isSyntheticSource ? fullPath() + "._original" : null;
974976
}
975977

976978
@Override
@@ -1129,7 +1131,7 @@ boolean hasNormalizer() {
11291131
* for synthetic source.
11301132
*/
11311133
private String originalName() {
1132-
return fullPath() + "._original";
1134+
return originalName;
11331135
}
11341136

11351137
@Override

x-pack/plugin/wildcard/src/main/java/org/elasticsearch/xpack/wildcard/mapper/WildcardFieldMapper.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -898,6 +898,7 @@ protected String parseSourceValue(Object value) {
898898
private final int ignoreAbove;
899899
private final int ignoreAboveDefault;
900900
private final boolean storeIgnored;
901+
private final String originalName;
901902

902903
private WildcardFieldMapper(
903904
String simpleName,
@@ -913,6 +914,7 @@ private WildcardFieldMapper(
913914
this.indexVersionCreated = indexVersionCreated;
914915
this.ignoreAbove = builder.ignoreAbove.getValue();
915916
this.ignoreAboveDefault = builder.ignoreAboveDefault;
917+
this.originalName = storeIgnored ? fullPath() + "._original" : null;
916918
}
917919

918920
@Override
@@ -958,7 +960,7 @@ protected void parseCreateField(DocumentParserContext context) throws IOExceptio
958960
}
959961

960962
private String originalName() {
961-
return fullPath() + "._original";
963+
return originalName;
962964
}
963965

964966
void createFields(String value, LuceneDocument parseDoc, List<IndexableField> fields) {

0 commit comments

Comments
 (0)