I think it makes sense to create a jira ticket.

Joel Bernstein
http://joelsolr.blogspot.com/

On Thu, Jun 22, 2017 at 2:43 PM, Susheel Kumar <susheel2...@gmail.com>
wrote:

> Please let me know if I shall create a JIRA and i can provide both
> expressions and data to reproduce.
>
> On Thu, Jun 22, 2017 at 11:23 AM, Susheel Kumar <susheel2...@gmail.com>
> wrote:
>
> > Yes, i tried building up expression piece by piece but looks like there
> is
> > an issue with how complement expects / behave for sort.
> >
> > if i use below g and h expr inside complement which are already sorted
> > (sort) then it doesn't work
> >
> > e=select(get(c),id,email),
> > f=select(get(d),id,email),
> > g=sort(get(e),by="id asc,email asc"),
> > h=sort(get(f),by="id asc,email asc"),
> > i=complement(get(g),get(h),on="id,email"),
> >
> > while below worked when i use e and f expr and sort them within
> complement
> > function instead of using g and h directly
> >
> > e=select(get(c),id,email),
> > f=select(get(d),id,email),
> > g=sort(get(e),by="id asc,email asc"),
> > h=sort(get(f),by="id asc,email asc"),
> > i=complement(
> > sort(get(e),by="id asc,email asc"),sort(get(f),by="id asc,email asc")
> > ,on="id,email"),
> >
> > So I am good for now with above approach but running into another issue
> > with empty/null/"Index 0, Size 0" set and will start another thread for
> > that (Need your help there :-)).
> >
> > Appreciate and thanks for all your help while I try to solve my use case
> > using streaming expressions.
> >
> >
> > On Thu, Jun 22, 2017 at 11:10 AM, Joel Bernstein <joels...@gmail.com>
> > wrote:
> >
> >> I suspect something is wrong in the syntax but I'm not seeing it.
> >>
> >> Have you tried building up the expression piece by piece until you get
> the
> >> syntax error?
> >>
> >> Joel Bernstein
> >> http://joelsolr.blogspot.com/
> >>
> >> On Wed, Jun 21, 2017 at 3:20 PM, Susheel Kumar <susheel2...@gmail.com>
> >> wrote:
> >>
> >> > While simple complement works in this way
> >> >
> >> > ===
> >> > complement(merge(sort(select(echo("A"),echo as email),by="email
> asc"),
> >> > sort(select(echo("B"),echo as email),by="email asc"),
> >> > on="email asc"),
> >> > merge(sort(select(echo("A"),echo as email),by="email asc"),
> >> > sort(select(echo("D"),echo as email),by="email asc"),on="email asc"),
> >> > on="email")
> >> >
> >> > BUT below it doesn't work when used in similar way
> >> >
> >> > ===
> >> > let(a=fetch(collection1,having(rollup(over=email,
> >> >                  count(email),
> >> >                 select(search(collection1,
> >> >                         q=*:*,
> >> >                         fl="id,business_email",
> >> >                         sort="business_email asc"),
> >> >    id,
> >> >    business_email as email)),
> >> >     eq(count(email),1)),
> >> > fl="id,business_email as email",
> >> > on="email=business_email"),
> >> > b=fetch(collection1,having(rollup(over=email,
> >> >                  count(email),
> >> >                 select(search(collection1,
> >> >                         q=*:*,
> >> >                         fl="id,personal_email",
> >> >                         sort="personal_email asc"),
> >> >    id,
> >> >    personal_email as email)),
> >> >     eq(count(email),1)),
> >> > fl="id,personal_email as email",
> >> > on="email=personal_email"),
> >> > c=hashJoin(get(a),hashed=get(b),on="email"),
> >> > d=hashJoin(get(b),hashed=get(a),on="email"),
> >> > e=select(get(c),id,email),
> >> > f=select(get(d),id,email),
> >> > g=sort(get(e),by="id asc,email asc"),
> >> > h=sort(get(f),by="id asc,email asc"),
> >> > i=complement(get(g),get(h),on="id,email"),
> >> > get(i)
> >> > )
> >> >
> >> >
> >> > On Wed, Jun 21, 2017 at 11:29 AM, Susheel Kumar <
> susheel2...@gmail.com>
> >> > wrote:
> >> >
> >> > > Hi,
> >> > >
> >> > > Two issues with complement function (solr 6.6)
> >> > >
> >> > > 1)  When i execute below streaming expression,
> >> > >
> >> > > ==
> >> > >
> >> > > let(a=fetch(collection1,having(rollup(over=email,
> >> > >                  count(email),
> >> > >                 select(search(collection1,
> >> > >                         q=*:*,
> >> > >                         fl="id,business_email",
> >> > >                         sort="business_email asc"),
> >> > >    id,
> >> > >    business_email as email)),
> >> > >     eq(count(email),1)),
> >> > > fl="id,business_email as email",
> >> > > on="email=business_email"),
> >> > > b=fetch(collection1,having(rollup(over=email,
> >> > >                  count(email),
> >> > >                 select(search(collection1,
> >> > >                         q=*:*,
> >> > >                         fl="id,personal_email",
> >> > >                         sort="personal_email asc"),
> >> > >    id,
> >> > >    personal_email as email)),
> >> > >     eq(count(email),1)),
> >> > > fl="id,personal_email as email",
> >> > > on="email=personal_email"),
> >> > > c=hashJoin(get(a),hashed=get(b),on="email"),
> >> > > d=hashJoin(get(b),hashed=get(a),on="email"),
> >> > > e=select(get(c),id,email),
> >> > > f=select(get(d),id,email),
> >> > > g=sort(get(e),by="id asc,email asc"),
> >> > > h=sort(get(f),by="id asc,email asc"),
> >> > > i=complement(get(g),get(h),on="id,email"),
> >> > > get(i)
> >> > > )
> >> > >
> >> > >
> >> > > getting response as
> >> > >
> >> > > { "result-set": { "docs": [ { "EXCEPTION": "Invalid ReducerStream -
> >> > > substream comparator (sort) must be a superset of this stream's
> >> > > comparator.", "EOF": true } ] } }
> >> > >
> >> > > 2) when i execute below
> >> > >
> >> > >
> >> > > complement(
> >> > >   select(search(collection1, q=*:*, fl="id,business_email", sort="id
> >> > asc, business_email asc"),id,business_email as email),
> >> > >   select(search(collection1, q=*:*, fl="id,personal_email", sort="id
> >> > asc, personal_email asc"),id,personal_email as email),
> >> > >   on="id,email"
> >> > > )
> >> > >
> >> > > getting response as
> >> > >
> >> > > {
> >> > >   "result-set": {
> >> > >     "docs": [
> >> > >       {
> >> > >         "EXCEPTION": "Invalid expression complement(
> >> > select(search(collection1, q=*:*, fl=\"id,business_email\", sort=\"id
> >> asc,
> >> > business_email asc\"),id,business_email as email),
> >> > select(search(collection1, q=*:*, fl=\"id,personal_email\", sort=\"id
> >> asc,
> >> > personal_email asc\"),id,personal_email as email),  on=\"id,email\") -
> >> > unknown operands found",
> >> > >         "EOF": true
> >> > >       }
> >> > >     ]
> >> > >   }
> >> > > }
> >> > >
> >> > >
> >> >
> >>
> >
> >
>

Reply via email to