Skip to content

Commit 4fb5146

Browse files
committed
Change wildcard and constant_keyword fields to return keyword for field capabilities.
Relates to #53175
1 parent cca23aa commit 4fb5146

File tree

4 files changed

+19
-1
lines changed

4 files changed

+19
-1
lines changed

server/src/main/java/org/elasticsearch/action/fieldcaps/TransportFieldCapabilitiesIndexAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ private FieldCapabilitiesIndexResponse shardOperation(final FieldCapabilitiesInd
124124
if (ft != null) {
125125
if (indicesService.isMetadataField(mapperService.getIndexSettings().getIndexVersionCreated(), field)
126126
|| fieldPredicate.test(ft.name())) {
127-
IndexFieldCapabilities fieldCap = new IndexFieldCapabilities(field, ft.typeName(),
127+
IndexFieldCapabilities fieldCap = new IndexFieldCapabilities(field, ft.familyTypeName(),
128128
ft.isSearchable(), ft.isAggregatable(), ft.meta());
129129
responseMap.put(field, fieldCap);
130130
} else {

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,11 @@ public int hashCode() {
135135

136136
/** Returns the name of this type, as would be specified in mapping properties */
137137
public abstract String typeName();
138+
139+
/** Returns the field family type, as used in field capabilities */
140+
public String familyTypeName() {
141+
return typeName();
142+
}
138143

139144
public String name() {
140145
return name;

x-pack/plugin/mapper-constant-keyword/src/main/java/org/elasticsearch/xpack/constantkeyword/mapper/ConstantKeywordFieldMapper.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.elasticsearch.index.fielddata.plain.ConstantIndexFieldData;
3131
import org.elasticsearch.index.mapper.ConstantFieldType;
3232
import org.elasticsearch.index.mapper.FieldMapper;
33+
import org.elasticsearch.index.mapper.KeywordFieldMapper;
3334
import org.elasticsearch.index.mapper.MappedFieldType;
3435
import org.elasticsearch.index.mapper.Mapper;
3536
import org.elasticsearch.index.mapper.MapperParsingException;
@@ -151,6 +152,11 @@ public String value() {
151152
public String typeName() {
152153
return CONTENT_TYPE;
153154
}
155+
156+
@Override
157+
public String familyTypeName() {
158+
return KeywordFieldMapper.CONTENT_TYPE;
159+
}
154160

155161
@Override
156162
public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) {

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
import org.elasticsearch.index.fielddata.plain.StringBinaryIndexFieldData;
5656
import org.elasticsearch.index.mapper.BinaryFieldMapper.CustomBinaryDocValuesField;
5757
import org.elasticsearch.index.mapper.FieldMapper;
58+
import org.elasticsearch.index.mapper.KeywordFieldMapper;
5859
import org.elasticsearch.index.mapper.MappedFieldType;
5960
import org.elasticsearch.index.mapper.Mapper;
6061
import org.elasticsearch.index.mapper.MapperParsingException;
@@ -848,6 +849,12 @@ public Query fuzzyQuery(
848849
public String typeName() {
849850
return CONTENT_TYPE;
850851
}
852+
853+
@Override
854+
public String familyTypeName() {
855+
return KeywordFieldMapper.CONTENT_TYPE;
856+
}
857+
851858

852859
@Override
853860
public Query existsQuery(QueryShardContext context) {

0 commit comments

Comments
 (0)