4

My application takes a user inputted string and tries to parse it with the Lucene query parser. I noticed however that there are several formats of strings that provoke an error in this query parser.
e.g.:

  • ~anystring
  • anystring +

First I tried molding my user inputted string so that it could not contain these cases, but as I see it, there could be more cases I do not foresee now.

How do you handle Query parser exceptions? How do you prevent them?

2 Answers 2

2

We catch the remaining parse exceptions and display an error message ("Your search did not match any documents. Suggestion: Try different keywords.").

See also How to make the Lucene QueryParser more forgiving?

Sign up to request clarification or add additional context in comments.

1 Comment

Hmm, yes, this is the most obvious way to go. But I would think that some common cases would be solved by the query parser itselve. But maybe that shouldn't be it's resposibility indeed.
0
query.replace(/([\!\*\+\&\|\(\)\[\]\{\}\^\~\?\:\"\/])/g, "");

1 Comment

Can you provide more information / context in your answer?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.