Hi.

Searching terms with wildcard in their start, is solved with
ReversedWildcardFilterFactory. But, what about terms with wildcard in both
start AND end?

This query is heavy, and I want to disallow such queries from my users.

I'm looking for a way to cause these queries to fail.
I guess there is no built-in support for my need, so it is OK to write a
new solution.

My current plan is to create a search component (which will run before
QueryComponent). It should analyze the query string, and to drop the query
if "too heavy" wildcard are found.

Another option is to create a query parser, which wraps the current
(specified or default) qparser, and does the same work as above.

These two options require an analysis of the query text, which might be an
ugly work (just think about nested queries [using _query_], OR even a lot
of more basic scenarios like quoted terms, etc.)

Am I missing a simple and clean way to do this?
What would you do?

P.S. if no simple solution exists, timeAllowed limit is the best
work-around I could think about. Any other suggestions?

Reply via email to