You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Charles Sanders (JIRA)" <ji...@apache.org> on 2018/08/28 15:09:00 UTC

[jira] [Commented] (SOLR-5163) edismax should throw exception when qf refers to nonexistent field

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

Charles Sanders commented on SOLR-5163:
---------------------------------------

I'm new to the project and this is my first contribution, thank you for your patience.

I have attached a patch file with code changes to address the issue.  It is not a candidate to commit in its current state.  The code changes satisfy the test case provided in Cassandrea's comment above.  Using the 'techproducts' example, an exception is throw when query fields (qf) contains field 'series'.  But passes when field 'series_t' is used.  If other invalid fields are used, such as foo_t, the exception is thrown.  An exception is thrown for any query field not persisted to the index or defined in the schema.

However..... There are unit test failures when executing 'ant -Dtestcase=TestExtendedDismaxParser test'.  The error raised is <o.a.s.c.CachingDirectoryFactory Timeout waiting for all directory ref counts to be released>.  I believe this is due more to my lack of knowledge of the test framework than the actual code addition.  May need to add an @AfterClass method with some tear down code.  Not sure.  Maybe someone with more test framework knowledge can steer me in the right direction.

Please take a look at the patch and let me know if I have missed the boat completely.  Any help / instructions / advice greatly appreciated.

> edismax should throw exception when qf refers to nonexistent field
> ------------------------------------------------------------------
>
>                 Key: SOLR-5163
>                 URL: https://issues.apache.org/jira/browse/SOLR-5163
>             Project: Solr
>          Issue Type: Bug
>          Components: query parsers, search
>    Affects Versions: 4.10.4
>            Reporter: Steven Bower
>            Priority: Major
>              Labels: newdev
>         Attachments: SOLR-5163.patch
>
>
> query:
> q=foo AND bar
> qf=field1
> qf=field2
> defType=edismax
> Where field1 exists and field2 doesn't..
> will treat the AND as a term vs and operator



--
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