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