[
https://issues.apache.org/jira/browse/SOLR-874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12730513#action_12730513
]
Peter Wolanin commented on SOLR-874:
------------------------------------
possibly a fix could be rolled into this existing method in
SolrPluginUtils.java ?
{code}
/**
* Strips operators that are used illegally, otherwise reuturns it's
* input. Some examples of illegal user queries are: "chocolate +-
* chip", "chocolate - - chip", and "chocolate chip -".
*/
public static CharSequence stripIllegalOperators(CharSequence s) {
String temp = CONSECUTIVE_OP_PATTERN.matcher( s ).replaceAll( " " );
return DANGLING_OP_PATTERN.matcher( temp ).replaceAll( "" );
}
{code}
This seems only to be called from:
org/apache/solr/search/DisMaxQParser.java:156: userQuery =
SolrPluginUtils.stripIllegalOperators(userQuery).toString();
> Dismax parser exceptions on trailing OPERATOR
> ---------------------------------------------
>
> Key: SOLR-874
> URL: https://issues.apache.org/jira/browse/SOLR-874
> Project: Solr
> Issue Type: Bug
> Components: search
> Affects Versions: 1.3
> Reporter: Erik Hatcher
>
> Dismax is supposed to be immune to parse exceptions, but alas it's not:
> http://localhost:8983/solr/select?defType=dismax&qf=name&q=ipod+AND
> kaboom!
> Caused by: org.apache.lucene.queryParser.ParseException: Cannot parse 'ipod
> AND': Encountered "<EOF>" at line 1, column 8.
> Was expecting one of:
> <NOT> ...
> "+" ...
> "-" ...
> "(" ...
> "*" ...
> <QUOTED> ...
> <TERM> ...
> <PREFIXTERM> ...
> <WILDTERM> ...
> "[" ...
> "{" ...
> <NUMBER> ...
> <TERM> ...
> "*" ...
>
> at org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:175)
> at
> org.apache.solr.search.DismaxQParser.parse(DisMaxQParserPlugin.java:138)
> at org.apache.solr.search.QParser.getQuery(QParser.java:88)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.