lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Pendlebury <greg.pendleb...@gmail.com>
Subject Re: edismax parsing confusion
Date Mon, 03 Apr 2017 23:57:20 GMT
eDismax uses 'mm', so knowing what that has been set to is important, or if
it has been left unset/default you would need to consider whether 'q.op'
has been set. Or the default operator from the config file.

Ta,
Greg


On 3 April 2017 at 23:56, Steve Rowe <sarowe@gmail.com> wrote:

> Hi Abhishek,
>
> Which version of Solr are you using?
>
> I can see that the parsed queries are different, but they’re also very
> similar, and there’s a lot of detail there - can you be more specific about
> what the problem is?
>
> --
> Steve
> www.lucidworks.com
>
> > On Apr 3, 2017, at 4:54 AM, Abhishek Mishra <solrmishra@gmail.com>
> wrote:
> >
> > Hi all
> > i am running solr query with these parameter
> >
> > bf: "sum(product(new_popularity,100),if(exists(third_price),50,0))"
> > qf: "test_product^5 category_path_tf^4 product_id gender"
> > q: "handbags between rs150 and rs 400"
> > defType: "edismax"
> >
> > parsed query is like below one
> >
> > for q:-
> > (+(DisjunctionMaxQuery((category_path_tf:handbags^4.0 | gender:handbag |
> > test_product:handbag^5.0 | product_id:handbags))
> > DisjunctionMaxQuery((category_path_tf:between^4.0 | gender:between |
> > test_product:between^5.0 | product_id:between))
> > +DisjunctionMaxQuery((category_path_tf:rs150^4.0 | gender:rs150 |
> > test_product:rs150^5.0 | product_id:rs150))
> > +DisjunctionMaxQuery((category_path_tf:rs^4.0 | gender:rs |
> > test_product:rs^5.0 | product_id:rs))
> > DisjunctionMaxQuery((category_path_tf:400^4.0 | gender:400 |
> > test_product:400^5.0 | product_id:400))) DisjunctionMaxQuery(("":"
> handbags
> > between rs150 ? rs 400")) (DisjunctionMaxQuery(("":"handbags between"))
> > DisjunctionMaxQuery(("":"between rs150")) DisjunctionMaxQuery(("":"rs
> > 400"))) (DisjunctionMaxQuery(("":"handbags between rs150"))
> > DisjunctionMaxQuery(("":"between rs150"))
> DisjunctionMaxQuery(("":"rs150 ?
> > rs")) DisjunctionMaxQuery(("":"? rs 400")))
> > FunctionQuery(sum(product(float(new_popularity),const(
> 100)),if(exists(float(third_price)),const(50),const(0)))))/no_coord
> >
> > but for dismax parser it is working perfect:
> >
> > (+(DisjunctionMaxQuery((category_path_tf:handbags^4.0 | gender:handbag |
> > test_product:handbag^5.0 | product_id:handbags))
> > DisjunctionMaxQuery((category_path_tf:between^4.0 | gender:between |
> > test_product:between^5.0 | product_id:between))
> > DisjunctionMaxQuery((category_path_tf:rs150^4.0 | gender:rs150 |
> > test_product:rs150^5.0 | product_id:rs150))
> > DisjunctionMaxQuery((product_id:and))
> > DisjunctionMaxQuery((category_path_tf:rs^4.0 | gender:rs |
> > test_product:rs^5.0 | product_id:rs))
> > DisjunctionMaxQuery((category_path_tf:400^4.0 | gender:400 |
> > test_product:400^5.0 | product_id:400))) DisjunctionMaxQuery(("":"
> handbags
> > between rs150 ? rs 400"))
> > FunctionQuery(sum(product(float(new_popularity),const(
> 100)),if(exists(float(third_price)),const(50),const(0)))))/no_coord
> >
> >
> > *according to me difference between dismax and edismax is based on some
> > extra features plus working of boosting fucntions.*
> >
> >
> >
> > Regards,
> > Abhishek
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message