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>

Reply via email to