Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-2837

Collapse Searcher/Searchable/IndexSearcher; remove contrib/remote; merge PMS into IndexSearcher

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments


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


      We've discussed cleaning up our *Searcher stack for some time... I
      think we should try to do this before releasing 4.0.

      So I'm attaching an initial patch which:

      • Removes Searcher, Searchable, absorbing all their methods into IndexSearcher
      • Removes contrib/remote
      • Removes MultiSearcher
      • Absorbs ParallelMultiSearcher into IndexSearcher (ie you can now
        pass useThreads=true, or a custom ES to the ctor)

      The patch is rough – I just ripped stuff out, did search/replace to
      IndexSearcher, etc. EG nothing is directly testing using threads with
      IndexSearcher, but before committing I think we should add a
      newSearcher to LuceneTestCase, which randomly chooses whether the
      searcher uses threads, and cutover tests to use this instead of making
      their own IndexSearcher.

      I think MultiSearcher has a useful purpose, but as it is today it's
      too low-level, eg it shouldn't be involved in rewriting queries: the
      Query.combine method is scary. Maybe in its place we make a higher
      level class, with limited API, that's able to federate search across
      multiple IndexSearchers? It'd also be able to optionally use thread
      per IndexSearcher.


        1. LUCENE-2837.patch
          256 kB
          Michael McCandless
        2. LUCENE-2837.patch
          264 kB
          Michael McCandless
        3. LUCENE-2837.patch
          2 kB
          Yonik Seeley

        Issue Links



            • Assignee:
              mikemccand Michael McCandless
              mikemccand Michael McCandless


              • Created:

                Issue deployment