{"query_string":{"query":"_exists_:(foo bar)"}} default operator behavior is different between 2.4.4 and 6.2.3 #31297
Labels
:Search/Search
Search-related issues that do not fall into other categories
Elasticsearch version (
bin/elasticsearch --version
): 6.2.3Plugins installed: x-pack
JVM version (
java -version
): 1.8.0_91OS version (
uname -a
if on a Unix-like system): macOS 10.12.5Description of the problem including expected versus actual behavior:
{"query_string":{"query":"_exists_:(foo bar)"}}
used to match if a document had either fieldfoo
or fieldbar
. Now it tries to match a field namedfoo bar
instead.Steps to reproduce:
It appears that this might have changed in 6.1.
Using the explain API indicates that this is how the query is treated across the various versions:
+(ConstantScore(ConstantScore(_field_names:foo)) ConstantScore(ConstantScore(_field_names:bar)))
+(ConstantScore(_field_names:foo) ConstantScore(_field_names:bar))
ConstantScore(DocValuesFieldExistsQuery [field=foo bar])
The text was updated successfully, but these errors were encountered: