You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Thomas Egense (JIRA)" <ji...@apache.org> on 2014/12/01 10:57:12 UTC

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

    [ https://issues.apache.org/jira/browse/SOLR-6376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14229616#comment-14229616 ] 

Thomas Egense commented on SOLR-6376:
-------------------------------------

 Vitaliy Zhovtyuk:
What did you do different to trigger the bug in a unittest  environment this time?

> 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, 4.10.1
>            Reporter: Thomas Egense
>            Priority: Minor
>              Labels: difficulty-easy, edismax, impact-low
>         Attachments: SOLR-6376.patch, 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