[jira] [Created] (SOLR-11470) Negative queries always return "No Results" with rq parameter.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (SOLR-11470) Negative queries always return "No Results" with rq parameter.

JIRA jira@apache.org
Yuki Yano created SOLR-11470:
--------------------------------

             Summary: Negative queries always return "No Results" with rq parameter.
                 Key: SOLR-11470
                 URL: https://issues.apache.org/jira/browse/SOLR-11470
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
          Components: search
            Reporter: Yuki Yano


h3. Overview

Negatives queries (ex. {{q=NOT foo}}) always return "No Results" with rq parameter (ex. {{rq=\{!rerank reRankQuery=bar\}}}). This is because {{QueryUtils#makeQueryable}} doesn't consider RankQuery and fails to modify wrapped pure negative queries to searchable ones (ex. modifies {{q=NOT foo}} to {{q=(NOT foo) AND \*:\*}}). Pure negative queries are rewritten as {{MatchNoDocsQuery}} by {{BooleanQuery#rewrite}} and this results in {{numFound="0"}}.

h3. How to reproduce

# Prepare solr server according to [Solr Tutorial|http://lucene.apache.org/solr/guide/7_0/solr-tutorial.html].
# Search with {{/solr/techproducts/query?q=NOT foo}}. This returns 52 documents as the result.
# Search with {{/solr/techproducts/query?q=NOT foo&rq=\{!rerank reRankQuery=bar\}}}. This returns 0 document (52 documents are expected though...) as the result.

h3. How to fix

Add new API {{RankQuery#getMainQuery}} to be able to get the wrapped query from {{RankQuery}}, and use it in {{QueryUtils#makeQueryable}} to fix the original query if given argument {{Query q}} is instance of {{RankQuery}}.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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