You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Vitaliy Zhovtyuk (JIRA)" <ji...@apache.org> on 2014/10/26 15:46:34 UTC

[jira] [Updated] (SOLR-6376) Edismax field alias bug

     [ https://issues.apache.org/jira/browse/SOLR-6376?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vitaliy Zhovtyuk updated SOLR-6376:
-----------------------------------
    Attachment: SOLR-6376.patch

Issue not reproduced.
Not existing field completely ignored from parsed query.
Added test to TestExtendedDismaxParser to check this.

> Edismax field alias bug
> -----------------------
>
>                 Key: SOLR-6376
>                 URL: https://issues.apache.org/jira/browse/SOLR-6376
>             Project: Solr
>          Issue Type: Bug
>          Components: query parsers
>    Affects Versions: 4.6.1, 4.7, 4.7.2, 4.8, 4.9
>            Reporter: Thomas Egense
>            Priority: Minor
>              Labels: difficulty-easy, edismax, impact-low
>         Attachments: SOLR-6376.patch
>
>
> If you create a field alias that maps to a nonexistent field, the query will be parsed to utter garbage.
> The bug can reproduced very easily. Add the following line to the /browse request handler in the tutorial example solrconfig.xml
> <str name="f.name_features.qf">name features XXX</str>
> (XXX is a nonexistent field)
> This simple query will actually work correctly: 
> name_features:video
> and it will be parsed to  (features:video | name:video) and return 3 results. It has simply discarded the nonexistent field and the result set is correct.
> However if you change the query to:
> name_features:video AND name_features:video
> you will now get 0 result and the query is parsed to 
> +(((features:video | name:video) (id:AND^10.0 | author:and^2.0 | title:and^10.0 | cat:AND^1.4 | text:and^0.5 | keywords:and^5.0 | manu:and^1.1 | description:and^5.0 | resourcename:and | name:and^1.2 | features:and) (features:video | name:video))~3)
> Notice the AND operator is now used a term! The parsed query can turn out even worse and produce query parts such as:
> title:2~2    
> title:and^2.0^10.0  
> Prefered solution: During start up, shut down Solr if there is a nonexistant field alias. Just as is the case if the cycle-detection detects a cycle:
> Acceptable solution: Ignore the nonexistant field totally.
> Thomas Egense



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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