q=_text_:cheese OR {!parent which="!_nest_path:*" v="+_nest_path:* +_text_:cheese"} fq=!_nest_path:*
So, query for documents matching :cheese or parents of documents which match cheese, and filter out child documents. (Not completely certain about these nest paths, particularly in the block mask - I personally set an extra field to distinguish child from parent documents, to make them easier to reason about.) ~ Sander Dmitri Maziuk wrote: > Hi all, > > I'm having hard time wrapping my head around Mike's answer from 9 years > ago that is the only thing my google-fu turned up. > > I have nested documents like > > doc1 > id: doc1 > _text_ : cheese > > doc2 > id: doc2 > _text_ : foo > child: > id: doc2!child1 > _nest_path_ : /doc1#0 > _nest_parent: doc1 > _text_: cheese > > and I want to query for `q=_text_:cheese` and get back doc1 and doc2 but > not doc2!child1. My understanding is that I need to OR the {!parent} > query with the not-child query, but I'm getting lost in the exact syntax > of +'es and -'es. > > Does anyone have it near the top of their head, by any chance? > > TIA, > Dima >