[ 
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-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to