Solr query returns different result though both queries looks to have same logic

85 views Asked by At

I am running following two queries and was expecting same results but that not the case , does anybody knows why?

First Query

_query_:"{!complexphrase inOrder=true}accounts:\"functional currency\"" AND (-_query_:"{!complexphrase inOrder=false}accounts:\"functional currency GBP\"~11" AND -_query_:"{!complexphrase inOrder=false}accounts:\"functional currency pound*\"~11" AND -_query_:"{!complexphrase inOrder=false}accounts:\"functional currency sterling\"~11" AND *:*)

Second query

_query_:"{!complexphrase inOrder=true}accounts:\"functional currency\"" AND (-accounts:"functional currency GBP"~11 AND -_query_:"{!complexphrase inOrder=false}accounts:\"functional currency pound*\"~11" AND -accounts:"functional currency sterling"~11 AND *:*)

The difference in two queries is

the first query is like: P AND (Q AND B AND R AND *:*)

the second query is like: P AND (A AND B AND C AND *:*)

P : _query_:"{!complexphrase inOrder=true}accounts:\"functional currency\""

Q : -_query_:"{!complexphrase inOrder=false}accounts:\"functional currency GBP\"~11"

B : -_query_:"{!complexphrase inOrder=false}accounts:\"functional currency pound*\"~11"

R : -_query_:"{!complexphrase inOrder=false}accounts:\"functional currency sterling\"~11"

A : -accounts:"functional currency GBP"~11

C :  -accounts:"functional currency sterling"~11

I would like to believe that query Q is same as A while R is same as C.

Hence results pulled out by both queries should be same.

1

There are 1 answers

0
Sam On BEST ANSWER

The issue is Solr/Lucene is ignoring proximity search when grouped with a nested query as mentioned in below linked.

Solr/Lucene is ignoring proximity search when grouped with a nested query

The issue was fixed once , proximity search was also turned into subquery.