[
https://issues.apache.org/jira/browse/SOLR-9677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15601163#comment-15601163
]
Takumi Yoshida commented on SOLR-9677:
--------------------------------------
I read some codes.
If the edismax parser failed to parse the user query because of
RuntimeException (detail message = UnknowField)
ExtendedDismaxQParser.parseOriginalQuery method returns null. after that,
operators which are contained in user query are escaped as Keyword and parsed.
https://github.com/apache/lucene-solr/blob/master/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParser.java#L185-L189
so i think , as David mentioned, insted of changing parsing logic, we shuld
show exception in log file.
> edismax treat operator as a keyword when a query parameter 'qf' contains
> inexist field.
> ---------------------------------------------------------------------------------------
>
> Key: SOLR-9677
> URL: https://issues.apache.org/jira/browse/SOLR-9677
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Affects Versions: 5.2.1, 5.5.1, 6.2.1, trunk
> Reporter: Takumi Yoshida
>
> edismax treat operator as a keyword when a query parameter 'qf' contains
> inexist field.
> ex. ('hoge' does not existing in the schema.)
> q=Japan OR Tokyo
> defType=edismax
> qf=title hoge
> you will get result containing keywords 'Japan' or 'OR' or 'Tokyo' in Title.
> also, you can get the following parsed query with debugQuery=true.
> {code}
> <str name="parsedquery_toString">+((title:Japan) (title:OR)
> (title:Tokyo))</str>
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]