You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Krishan (JIRA)" <ji...@apache.org> on 2019/03/25 09:48:00 UTC

[jira] [Created] (SOLR-13346) Phrase matching on boolean queries

Krishan created SOLR-13346:
------------------------------

             Summary: Phrase matching on boolean queries
                 Key: SOLR-13346
                 URL: https://issues.apache.org/jira/browse/SOLR-13346
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
          Components: query parsers
            Reporter: Krishan


Using the eDismax Query Parser, if a query has boolean clauses, phrase matches are done on entire query rather than the sub queries created by the boolean operators.
 
Eg:
Query - 
    (gear AND cycle) OR (black AND cycle)
 
The parsed query for this is 
 
    "+((+(query:gear) + (query:cycle)) (+(query:black) + (query:cycle))) (phrase:\"gear cycle black cycle\")"
 
As can be seen the query conditions are as expected but I want the phrase match on "gear cycle" or "black cycle" .
 
Using boost/bq will not solve the use case because I also want to define phrase slop. So that a phrase match for "black cycle" will match documents like "black colour cycle".
 
Possible Solutions - 
1. Apply the phrase match on the individual queries produced
2. Apply the phrase match on a different attribute than 'q'. As a workaround users can create the individual phrases to be matched and supply that to this attribute.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org