Martin, I'm running this on v1.3.
The mapping for "document" only has one parent type: "psa", so the fact both documents have a parent means they must be the same type. I'm using using routing, so the parents and children are on the same shard. I'm not sure exactly what extra info I can give? My data is huge... I'll try fiddling a bit more to see if I can replicate it further. I guess the question is, how can it return a result which clearly contains a "_parent" field, when I'm doing a "must_not" "has_parent" filter? That should never be possible. On 2 October 2014 20:54, Martijn v Groningen <[email protected]> wrote: > Can you share a reproduction of the mismatches you're experiencing? (in a > gist or something like that, so that I can see on what data you're running > these queries) > > The has_parent query in a must clause should return all child documents > with a parent and a has_parent in must_not should return all child docs > with no parent. > > Also on what ES version are you running this? > > On 2 October 2014 20:27, Tom Miller <[email protected]> wrote: > >> I have two documents, both (should) have a parent (different parents, but >> the same type). >> >> However, I don't get the result I expect - especially trying to return >> documents *without* a parent. >> >> For example: >> >> { >> "fields":["_parent"], >> "query": { >> "filtered": { >> "query": { >> "query_string": { >> "query": "kittens*" >> } >> }, >> "filter": { >> "bool": { >> "must_not": [ >> { >> "has_parent": { >> "parent_type": "psa", >> "query": { >> "match_all": {} >> } >> } >> } >> ] >> } >> } >> } >> } >> } >> >> I run that, and I get this back: >> >> { >> "took": 287, >> "timed_out": false, >> "_shards": { >> "total": 1, >> "successful": 1, >> "failed": 0 >> }, >> "hits": { >> "total": 1, >> "max_score": 1, >> "hits": [ >> { >> "_index": "egroup", >> "_type": "document", >> "_id": "6_9104", >> "_score": 1, >> "fields": { >> "_parent": "6_905" >> } >> } >> ] >> } >> } >> >> >> Clearly it DOES have a parent because it shows in the results! >> >> If I change the initial query from "must_not" to "must", I get the other >> document in the result: >> >> { >> "took": 75, >> "timed_out": false, >> "_shards": { >> "total": 1, >> "successful": 1, >> "failed": 0 >> }, >> "hits": { >> "total": 1, >> "max_score": 1, >> "hits": [ >> { >> "_index": "egroup", >> "_type": "document", >> "_id": "6_9106", >> "_score": 1, >> "fields": { >> "_parent": "6_847" >> } >> } >> ] >> } >> } >> >> One query should return zero results, and the other should return 2. >> However each are returning 1. >> >> Am I being thick, or is something amiss here - and how can I troubleshoot >> it? >> >> >> Tom. >> >> >> -- >> 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 [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elasticsearch/c8beeddf-2cfb-4af7-8836-6779baf85933%40googlegroups.com >> <https://groups.google.com/d/msgid/elasticsearch/c8beeddf-2cfb-4af7-8836-6779baf85933%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > Met vriendelijke groet, > > Martijn van Groningen > > -- > You received this message because you are subscribed to a topic in the > Google Groups "elasticsearch" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/elasticsearch/N8eKOCz2vdM/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elasticsearch/CA%2BA76TwRGkJWWRLeV_Hv4kV1U3-zWN12pVuLsspmQRH3PSM7Kw%40mail.gmail.com > <https://groups.google.com/d/msgid/elasticsearch/CA%2BA76TwRGkJWWRLeV_Hv4kV1U3-zWN12pVuLsspmQRH3PSM7Kw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- Tom Miller Managing Director ======================================================= eBiz Centurion House, London Road, Staines, TW18 4AX Tel: 08448 045046 email: tom.miller@ebiz. <[email protected]>uk <[email protected]> | web: ebiz.uk | www.facebook.com/eBizUK | www.twitter.com/eBizUK Information contained in this communication may be confidential and/or legally privileged. It is intended solely for the use of the addressee and others authorized to receive it. If you are not the intended recipient any disclosure, copying, distribution or action taken in reliance on its contents is prohibited and may be unlawful. Neither eBiz | interactive business solutions nor the author accepts legal liability for the contents of this message. If you receive this communication in error please advise us at [email protected] Whilst we run anti-virus software we are not liable for any loss/damage sustained as a result of software viruses. The recipients are advised to run their own anti-virus software -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAM9sqB2yMh8_FTmYmaUPb7dkbYJ8w9B2iXAa1UVySn7h4AEe6Q%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
