Lucene - Core
  1. Lucene - Core
  2. LUCENE-3486

Add SearcherLifetimeManager, so you can retrieve the same searcher you previously used


    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.5, 4.0-ALPHA
    • Component/s: core/search
    • Labels:
    • Lucene Fields:


      The idea is similar to SOLR-2809 (adding searcher leases to Solr).

      This utility class sits above whatever your source is for "the
      current" searcher (eg NRTManager, SearcherManager, etc.), and records
      (holds a reference to) each searcher in recent history.

      The idea is to ensure that when a user does a follow-on action (clicks
      next page, drills down/up), or when two or more searcher invocations
      within a single user search need to happen against the same searcher
      (eg in distributed search), you can retrieve the same searcher you
      used "last time".

      I think with the new searchAfter API (LUCENE-2215), doing follow-on
      searches on the same searcher is more important, since the "bottom"
      (score/docID) held for that API can easily shift when a new searcher
      is opened.

      When you do a "new" search, you record the searcher you used with the
      manager, and it returns to you a long token (currently just the
      IR.getVersion()), which you can later use to retrieve the same

      Separately you must periodically call prune(), to prune the old
      searchers, ideally from the same thread / at the same time that
      you open a new searcher.

      1. LUCENE-3486.patch
        14 kB
        Michael McCandless
      2. LUCENE-3486.patch
        16 kB
        Michael McCandless
      3. LUCENE-3486.patch
        15 kB
        Michael McCandless


        Uwe Schindler made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Michael McCandless made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Michael McCandless made changes -
        Attachment LUCENE-3486.patch [ 12497815 ]
        Michael McCandless made changes -
        Attachment LUCENE-3486.patch [ 12497710 ]
        Michael McCandless made changes -
        Field Original Value New Value
        Attachment LUCENE-3486.patch [ 12497676 ]
        Michael McCandless created issue -


          • Assignee:
            Michael McCandless
            Michael McCandless
          • Votes:
            0 Vote for this issue
            0 Start watching this issue


            • Created: