On Fri, Feb 20, 2015 at 2:10 PM, Lokesh Chhaparwal <xyzlu...@gmail.com> wrote:
> Hi, > > I want to remove all the parent docs having a specific child doc. Eg. > > <doc>Employee1 > <doc> > <field>Dept1</field> > </doc> > <doc> > <field>Dept2</field> > </doc> > </doc> > > <doc>Employee2 > <doc> > <field>Dept2</field> > </doc> > <doc> > <field>Dept3</field> > </doc> > </doc> > > Query: Remove all employees which lie in Dept1 > Response should be: Employee2 *only* > > Problem: *NOT operator is not being supported* in block join query parser. > *q = {!parent which=employee:*}*:* -department:Dept1 *-> results Employee1, > Employee2 > AFAIK the first space after q= breaks space handling between }*:* -d, btw, that you can conclude it by looking into debugQuery=true output, hence try either: q={!parent which=employee:*}*:* -department:Dept1 q={!parent which=employee:*}*:*\ -department:Dept1 q={!parent which=employee:* v=$cq}&cq=*:* -department:Dept1 > > *q= - {!parent which=employee:*} department:Dept1 *-> it does not work with > block join query parser. > > Please suggest as to how I filter those employees which lie in Dept1 using > block join or any other query parser? > > Thanks, > Lokesh > -- Sincerely yours Mikhail Khludnev Principal Engineer, Grid Dynamics <http://www.griddynamics.com> <mkhlud...@griddynamics.com>