Sambhav Kothari created SOLR-12409:
--------------------------------------

             Summary: Different behaviour of pf with dismax and edismax
                 Key: SOLR-12409
                 URL: https://issues.apache.org/jira/browse/SOLR-12409
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
          Components: query parsers
    Affects Versions: 7.3.1
         Environment: Ubuntu 17.10

 
            Reporter: Sambhav Kothari


Hello, 
 
I experienced a weird behaviour with dismax and edismax query parsers.
Dismax will include pf boosts when we query something that has just a single 
word, edismax on the other hand will not include pf boosts.
 
The result is that a dismax and an edismax handler with the same set of 
defaults, return different results for single word queries (eg. "Hello") but 
the same results for multi word queries (eg. "Hello Wold")
 
Is this expected?
 
Regards,
Sam
 
 
Attaching debug query logs for both below.
 
{code:java}
// Single word query against dismax QH
{
"rawquerystring":"pink",
"querystring":"pink",
"parsedquery":"+DisjunctionMaxQuery((area:pink | country:pink | ipi:pink | 
(artist:pink)^2.0 | beginarea:pink | type:pink | (sortname:pink)^2.0 | 
isni:pink | alias:pink | comment:pink | ngram:pink | tag:pink)) 
DisjunctionMaxQuery(((sortname:pink)^1.2 | (alias:pink)^1.2 | 
(comment:pink)^1.2 | (artist:pink)^1.5)) 
FunctionQuery(log(sum(int(ref_count),const(1))))^3.0",
"parsedquery_toString":"+(area:pink | country:pink | ipi:pink | 
(artist:pink)^2.0 | beginarea:pink | type:pink | (sortname:pink)^2.0 | 
isni:pink | alias:pink | comment:pink | ngram:pink | tag:pink) 
((sortname:pink)^1.2 | (alias:pink)^1.2 | (comment:pink)^1.2 | 
(artist:pink)^1.5) (log(sum(int(ref_count),const(1))))^3.0"
}

// Single word query against edismax QH

{
"rawquerystring":"pink ",
"querystring":"pink ",
"parsedquery":"+DisjunctionMaxQuery((area:pink | country:pink | ipi:pink | 
(artist:pink)^2.0 | beginarea:pink | type:pink | (sortname:pink)^2.0 | 
isni:pink | alias:pink | comment:pink | ngram:pink | tag:pink)) () 
FunctionQuery(log(sum(int(ref_count),const(1))))^3.0",
"parsedquery_toString":"+(area:pink | country:pink | ipi:pink | 
(artist:pink)^2.0 | beginarea:pink | type:pink | (sortname:pink)^2.0 | 
isni:pink | alias:pink | comment:pink | ngram:pink | tag:pink) () 
(log(sum(int(ref_count),const(1))))^3.0"
}

// Multi word query against dismax QH 

{
"rawquerystring":"pink floyd",
"querystring":"pink floyd",
"parsedquery":"+(DisjunctionMaxQuery((area:pink | country:pink | ipi:pink | 
(artist:pink)^2.0 | beginarea:pink | type:pink | (sortname:pink)^2.0 | 
isni:pink | alias:pink | comment:pink | ngram:pink | tag:pink)) 
DisjunctionMaxQuery((area:floyd | country:floyd | ipi:floyd | 
(artist:floyd)^2.0 | beginarea:floyd | type:floyd | (sortname:floyd)^2.0 | 
isni:floyd | alias:floyd | comment:floyd | ngram:floyd | tag:floyd)))~2 
DisjunctionMaxQuery(((sortname:\"pink floyd\")^1.2 | (alias:\"pink floyd\")^1.2 
| (comment:\"pink floyd\")^1.2 | (artist:\"pink floyd\")^1.5)) 
FunctionQuery(log(sum(int(ref_count),const(1))))^3.0",
"parsedquery_toString":"+(((area:pink | country:pink | ipi:pink | 
(artist:pink)^2.0 | beginarea:pink | type:pink | (sortname:pink)^2.0 | 
isni:pink | alias:pink | comment:pink | ngram:pink | tag:pink) (area:floyd | 
country:floyd | ipi:floyd | (artist:floyd)^2.0 | beginarea:floyd | type:floyd | 
(sortname:floyd)^2.0 | isni:floyd | alias:floyd | comment:floyd | ngram:floyd | 
tag:floyd))~2) ((sortname:\"pink floyd\")^1.2 | (alias:\"pink floyd\")^1.2 | 
(comment:\"pink floyd\")^1.2 | (artist:\"pink floyd\")^1.5) 
(log(sum(int(ref_count),const(1))))^3.0"
}

// Multi word query against edismax QH 

{
"rawquerystring":"pink floyd",
"querystring":"pink floyd",
"parsedquery":"+DisjunctionMaxQuery((((area:pink area:floyd)~2) | country:pink 
floyd | ipi:pinkfloyd | () | ((artist:pink artist:floyd)~2)^2.0 | 
((beginarea:pink beginarea:floyd)~2) | type:pink floyd | ((sortname:pink 
sortname:floyd)~2)^2.0 | isni:pinkfloyd | ((alias:pink alias:floyd)~2) | 
((comment:pink comment:floyd)~2) | ((ngram:pink ngram:floyd)~2) | ((tag:pink 
tag:floyd)~2))) DisjunctionMaxQuery(((artist:\"pink floyd\")^1.5 | 
(alias:\"pink floyd\")^1.2 | (sortname:\"pink floyd\")^1.2 | (comment:\"pink 
floyd\")^1.2)) FunctionQuery(log(sum(int(ref_count),const(1))))^3.0",
"parsedquery_toString":"+(((area:pink area:floyd)~2) | country:pink floyd | 
ipi:pinkfloyd | () | ((artist:pink artist:floyd)~2)^2.0 | ((beginarea:pink 
beginarea:floyd)~2) | type:pink floyd | ((sortname:pink sortname:floyd)~2)^2.0 
| isni:pinkfloyd | ((alias:pink alias:floyd)~2) | ((comment:pink 
comment:floyd)~2) | ((ngram:pink ngram:floyd)~2) | ((tag:pink tag:floyd)~2)) 
((artist:\"pink floyd\")^1.5 | (alias:\"pink floyd\")^1.2 | (sortname:\"pink 
floyd\")^1.2 | (comment:\"pink floyd\")^1.2) 
(log(sum(int(ref_count),const(1))))^3.0"
}




{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to