There is the "timeAllowed" parameter:

http://wiki.apache.org/solr/CommonQueryParameters#timeAllowed

-- Jack Krupansky

-----Original Message----- From: Roman Chyla
Sent: Monday, June 03, 2013 11:53 AM
To: solr-user@lucene.apache.org
Subject: Re: how are you handling killer queries?

I think you should take a look at the TimeLimitingCollector (it is used
also inside SolrIndexSearcher).
My understanding is that it will stop your server from consuming
unnecessary resources.

--roman


On Mon, Jun 3, 2013 at 4:39 AM, Bernd Fehling <
bernd.fehl...@uni-bielefeld.de> wrote:

How are you handling "killer queries" with solr?

While solr/lucene (currently 4.2.1) is trying to do its best I see
sometimes stupid queries
in my logs, located with extremly long query time.

Example:
q=???????+and+??+and+???+and+????+and+???????+and+??????????

I even get hits for this (hits=34091309 status=0 QTime=88667).

But the jetty log says:
WARN:oejs.Response:Committed before 500 {msg=Datenübergabe unterbrochen
 (broken pipe),trace=org.eclipse.jetty.io.EofException...
org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:838)|?...
35 more|,code=500}
WARN:oejs.ServletHandler:/solr/base/select
java.lang.IllegalStateException: Committed
        at
org.eclipse.jetty.server.Response.resetBuffer(Response.java:1136)

Because I get hits and qtime the search is successful, right?

But jetty/http has already closed the connection and solr doesn't know
about this?

How are you handling "killer queries", just ignoring?
Or something to tune (jetty config about timeout) or filter (query
filtering)?

Would be pleased to hear your comments.

Bernd


Reply via email to