You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-dev@lucene.apache.org by "Mike Klaas (JIRA)" <ji...@apache.org> on 2008/06/03 21:24:45 UTC
[jira] Commented: (SOLR-161) Dangling dash causes stack trace
[ https://issues.apache.org/jira/browse/SOLR-161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602038#action_12602038 ]
Mike Klaas commented on SOLR-161:
---------------------------------
> It is really a Lucene query parser bug, but it wouldn't hurt to do s/(.*)-/&/ as a workaround. Assuming my ed(1) syntax is still > >fresh. Regardless, no query string should ever give a stack trace
This might be hard to guarantee. Already there are four issues details specific ways that dismax that barf on input. A lot of the suggestions above are of the form of detecting a specific failure mode and correcting it, which does not guarantee that you will catch them all.
A robust way to do it is parse the query into an AST using a grammar in a way that matches the query as well as possible (dropping the stuff that doesn't fit). Unfortunately, this is duplicative of the lucene parsing logic, and it would be nicer add a "relaxed" mode to lucene rather than pre-parsing the query.
(The reparse+reassemble method is what we use, btw. It is written in python but it might be possible to translate to java.)
> Dangling dash causes stack trace
> --------------------------------
>
> Key: SOLR-161
> URL: https://issues.apache.org/jira/browse/SOLR-161
> Project: Solr
> Issue Type: Bug
> Components: search
> Affects Versions: 1.1.0
> Environment: Java 1.5, Tomcat 5.5.17, Fedora Core 4, Intel
> Reporter: Walter Underwood
>
> I'm running tests from our search logs, and we have a query that ends in a dash. That caused a stack trace.
> org.apache.lucene.queryParser.ParseException: Cannot parse 'digging for the truth -': Encountered "<EOF>" at line 1, column 23.
> Was expecting one of:
> "(" ...
> <QUOTED> ...
> <TERM> ...
> <PREFIXTERM> ...
> <WILDTERM> ...
> "[" ...
> "{" ...
> <NUMBER> ...
>
> at org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:127)
> at org.apache.solr.request.DisMaxRequestHandler.handleRequest(DisMaxRequestHandler.java:272)
> at org.apache.solr.core.SolrCore.execute(SolrCore.java:595)
> at org.apache.solr.servlet.SolrServlet.doGet(SolrServlet.java:92)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.