It's an idea - sorry I don't have an implementation I can share easily; it's embedded in our application code and not easy to refactor. I'm not sure where this would fit in the solr architecture; maybe some subclass of SearchHandler? I guess the query rewriter would need to be aware of which parser it's trying to avoid errors in. In our case, we have a limited case where we always use a single parser, but I think solr exposes a pluggable extensible architecture with a lot of different parsers, so a more general solution will be more complex, and I don't have it :)

-Mike


On 05/05/2011 10:00 AM, Bernd Fehling wrote:
Hi Michael

sounds excellent to me.

Is it a QParserPlugin or what is it?

Regards
Bernd



Am 05.05.2011 14:05, schrieb Michael Sokolov:
In our applications, we catch ParseException and then take one of the following actions:

1) report an error to the user
2) rewrite the query, stripping all punctuation, and try again
3) rewrite the query, quoting all punctuation, and try again

would that work for you?

On 5/5/2011 3:26 AM, Bernd Fehling wrote:
Dear list,

I need a QueryValidator and don't mind writing one but don't want
to reinvent the wheel in case there is already something.

Is this the right list for talking about a QueryValidator or
should it belong to SOLR?

What do I mean with a QueryValidator?
I think about something like validating the query before or after parsing it.
Currently invalid queries [e.g. text:(:foo AND bar) ] throw exceptions
which pop up to the top. Not only that they show up in the logs
(which is good) they also give unuseful result page to jetty (which is bad).
And they also waste time for searching what can't be searched.

What should the QueryValidator do?
- check the query against the searchable fields of the schema (validate it)
- give options of fallback strategies
-- let it through as raw
-- remove specific chars (e.g. all ":" which have not a valid search field before)
-- ...
- in case of an invalid query don't try to start a search but give a clean no-hit-page
with a status and the cause

Actually it must be located somewhere around the parser.

What do think of this?

Regards,
Bernd

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to