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.