Missing and exists filters don't work in ES 1.4 as they do in ES 1.1.1

Dear folks,

I have discovered that missing filter doesn't work in ES 1.4 as it does in
1.1.1. I have two instances running and have run the following query on
both but in 1.4 everytime i get nothing and 1.1.1 does exactly what i want
it to do. could you please look into it.

GET myindex/_search?pretty
{"query": {"filtered": {
"query": {"match_all": {}},
"filter": {"missing": {
"field": "abstract"
}}
}}}

Similarly when i run the following to get records having values in
"abstract" field only, it gives me everything including those which have
null values. when i run this query in 1.1.1, it does it perfectly allright.

{"query": {"filtered": {
"query": {"match_all": {}},
"filter": {"exists": {
"field": "abstract"
}}
}}}

Please let me know if this is a bug or if I am missing anything here or not
aware of the changes in 1.4

many thanks

Arshad

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/11d61a6b-f20e-4513-94c1-4ad8e2990a50%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

There have been a change in order for better performance. Empty or null
values are not the same semantics as missing field and this unfortunately
changed without a notice. There is a workaround using range filter to get
the old behavior.

Jörg
Am 11.12.2014 13:26 schrieb "arshad Ali" holberry@gmail.com:

Dear folks,

I have discovered that missing filter doesn't work in ES 1.4 as it does in
1.1.1. I have two instances running and have run the following query on
both but in 1.4 everytime i get nothing and 1.1.1 does exactly what i want
it to do. could you please look into it.

GET myindex/_search?pretty
{"query": {"filtered": {
"query": {"match_all": {}},
"filter": {"missing": {
"field": "abstract"
}}
}}}

Similarly when i run the following to get records having values in
"abstract" field only, it gives me everything including those which have
null values. when i run this query in 1.1.1, it does it perfectly allright.

{"query": {"filtered": {
"query": {"match_all": {}},
"filter": {"exists": {
"field": "abstract"
}}
}}}

Please let me know if this is a bug or if I am missing anything here or
not aware of the changes in 1.4

many thanks

Arshad

--
You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/11d61a6b-f20e-4513-94c1-4ad8e2990a50%40googlegroups.com
https://groups.google.com/d/msgid/elasticsearch/11d61a6b-f20e-4513-94c1-4ad8e2990a50%40googlegroups.com?utm_medium=email&utm_source=footer
.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAKdsXoH7b87Eok4TKDjNmwUBmqOebsk4xMWEPW8%3D51cGq3%3DV9A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.