Both the time limiting collector and timeAllowed are useful,
but as far as I know not a complete solution (they may be
good enough though).

As I remember, they essentially bail out of the collector loop,
but note that that is only _after_ the query starts to score.
So collecting all the terms to assemble into the query isn't
limited for instance.

It may be good enough, but be aware that you may still have
queries that exceed whatever limit you use.

This has been discussed several times, and usually the comment
is that there are a zillion places you'd have to touch to make this
functionality work no matter what....

Best
Erick

On Tue, Jun 4, 2013 at 3:02 AM, Bernd Fehling
<bernd.fehl...@uni-bielefeld.de> wrote:
> Wow, many thanks!
> Didn't notice that there is already something available.
> Will try it with my test-system.
>
> Bernd
>
>
> Am 03.06.2013 18:24, schrieb Jack Krupansky:
>> 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