You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Deepika Sharma (Jira)" <ji...@apache.org> on 2022/05/05 12:17:00 UTC

[jira] [Commented] (LUCENE-10151) Add timeout support to IndexSearcher

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

Deepika Sharma commented on LUCENE-10151:
-----------------------------------------

I am exploring adding timeout support to the {{IndexSearcher}} by using {{ExitableDirectoryReader.}} However, one issue with {{ExitableDirectoryReader}} is that it enforces timeout checking at the time of instantiating {{BulkScorer}} and doesn't actually enforce it once you start iterating postings/impacts. This is being discussed in [LUCENE-10544|https://issues.apache.org/jira/browse/LUCENE-10544]
I want to ask if there are any suggestions on alternative ways to approach this problem that I should consider?{{{}{}}}

> Add timeout support to IndexSearcher
> ------------------------------------
>
>                 Key: LUCENE-10151
>                 URL: https://issues.apache.org/jira/browse/LUCENE-10151
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/search
>            Reporter: Greg Miller
>            Priority: Minor
>
> I'd like to explore adding optional "timeout" capabilities to {{IndexSearcher}}. This would enable users to (optionally) specify a maximum time budget for search execution. If the search "times out", partial results would be available.
> This idea originated on the dev list (thanks [~jpountz] for the suggestion). Thread for reference: [http://mail-archives.apache.org/mod_mbox/lucene-dev/202110.mbox/%3CCAL8PwkZdNGmYJopPjeXYK%3DF7rvLkWon91UEXVxMM4MeeJ3UHxQ%40mail.gmail.com%3E] 
> A couple things to watch out for with this change:
>  # We want to make sure it's robust to a two-phase query evaluation scenario where the "approximate" step matches a large number of candidates but the "confirmation" step matches very few (or none). This is a particularly tricky case.
>  # We want to make sure the {{TotalHits#Relation}} reported by {{TopDocs}} is {{GREATER_THAN_OR_EQUAL_TO}} if the query times out
>  # We want to make sure it plays nice with the {{LRUCache}} since it iterates the query to pre-populate a {{BitSet}} when caching. That step shouldn't be allowed to overrun the timeout. The proper way to handle this probably needs some thought.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org