> *q= - {!parent which=employee:*} department:Dept1 *-> it does not work with block join query parser.
What do you mean? What this query (no spaces, brackets) ? q=-({!parent which=employee:*}department:Dept1) returns in your case? 20.02.2015, 18:02, "Mikhail Khludnev" <mkhlud...@griddynamics.com>: > 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> 20.02.2015, 18:02, "Mikhail Khludnev" <mkhlud...@griddynamics.com>: > 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>