Lucene - Core
  1. Lucene - Core
  2. LUCENE-2837

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


    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major 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


          No work has yet been logged on this issue.


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


              • Created: