Elasticsearch version (bin/elasticsearch --version):
7.9.2
Plugins installed: []
Description of the problem including expected versus actual behavior:
Text fields that activate index_prefixes or index_phrases break exists query that targets
the parent object. So currently if a field foo.bar is defined as a text field with index_prefixes option,
any exists query on foo throws an UOE:
org.elasticsearch.index.mapper.TextFieldMapper$PrefixFieldType.existsQuery(TextFieldMapper.java:488)
at org.elasticsearch.index.query.ExistsQueryBuilder.newObjectFieldExistsQuery(ExistsQueryBuilder.java:214)
at org.elasticsearch.index.query.ExistsQueryBuilder.newFieldExistsQuery(ExistsQueryBuilder.java:202)
at org.elasticsearch.index.query.ExistsQueryBuilder.newFilter(ExistsQueryBuilder.java:164)
at org.elasticsearch.index.search.QueryStringQueryParser.existsQuery(QueryStringQueryParser.java:636)
at org.elasticsearch.index.search.QueryStringQueryParser.getWildcardQuery(QueryStringQueryParser.java:647)
Steps to reproduce:
PUT test
{
"mappings": {
"properties": {
"foo": {
"properties": {
"bar": {
"type": "text",
"index_prefixes": {}
}
}
}
}
}
}
POST test/_doc
{
"foo.bar": "1"
}
POST test/_search?q=foo:*
Relates #63446
Elasticsearch version (
bin/elasticsearch --version):7.9.2
Plugins installed: []
Description of the problem including expected versus actual behavior:
Text fields that activate
index_prefixesorindex_phrasesbreakexistsquery that targetsthe parent object. So currently if a field
foo.baris defined as a text field withindex_prefixesoption,any
existsquery onfoothrows anUOE:Steps to reproduce:
Relates #63446