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 <solrmis...@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

Reply via email to