[ 
https://issues.apache.org/jira/browse/LUCENE-997?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12537128
 ] 

Doron Cohen commented on LUCENE-997:
------------------------------------

I think this is a nice feature to have.

But I am not sure about the propsed API - the application creates a 
TimerThread, starts it, and the timer thread is then passed to the searcher 
with setTimeOut(timer,ticks). Not so simple.

I think my preference for the API and implementation would be in 
HitCllector.collect() - in other words, we consider this new feature as an 
advanced one, and so only allow applications to provide their "timed" 
hitCollector. The modified collect() would either throw a TimeoutException or 
return a timedOut indication. If this is a (subclass of) RunTimeException 
(thuogh I am not crazy about this alternative) then there's no API change (a 
plus) but we need to verify that the code below propagates the RuntimeException 
gracefully and closes all the streams and everything (which I believe it does 
with all last careful changes by Mike and Michael). If RuntimeEXception is not 
acceptable, then this is an API change (a minus) and also many (simple) changes 
will be required in scorers (callers to collect). 

The application's timedColletor will have all the logic in that collector for 
both announcing and detecting the timeout. Next we can add a TimedCollector for 
the benefit of applications, and last, consider adding search() methods with 
timeOut, but I doubt that last step.

> Add search timeout support to Lucene
> ------------------------------------
>
>                 Key: LUCENE-997
>                 URL: https://issues.apache.org/jira/browse/LUCENE-997
>             Project: Lucene - Java
>          Issue Type: New Feature
>            Reporter: Sean Timm
>            Priority: Minor
>         Attachments: LuceneTimeoutTest.java, timeout.patch, timeout.patch
>
>
> This patch is based on Nutch-308. 
> This patch adds support for a maximum search time limit. After this time is 
> exceeded, the search thread is stopped, partial results (if any) are returned 
> and the total number of results is estimated.
> This patch tries to minimize the overhead related to time-keeping by using a 
> version of safe unsynchronized timer.
> This was also discussed in an e-mail thread.
> http://www.nabble.com/search-timeout-tf3410206.html#a9501029

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to