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

nuke AtomicReader.termDocsEnum(termState) and termPositionsEnum(termState)

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 4.0-ALPHA
    • None
    • None
    • New

    Description

      These are simply sugar methods anyway, and so expert that I don't think we need sugar here at all.
      If someone wants to get DocsEnum via a saved TermState they can just use TermsEnum!

      But having these public in AtomicReader i think is pretty confusing and overwhelming.

      In fact, nothing in Lucene even uses these methods, except a sole assert statement in PhraseQuery,
      which I think can be written more clearly anyway:

               // PhraseQuery on a field that did not index
               // positions.
               if (postingsEnum == null) {
      -          assert reader.termDocsEnum(liveDocs, t.field(), t.bytes(), state, false) != null: "termstate found but no term exists in reader";
      +          assert te.seekExact(t.bytes(), false) : "termstate found but no term exists in reader";
      

      Attachments

        1. LUCENE-3967.patch
          3 kB
          Robert Muir

        Activity

          People

            Unassigned Unassigned
            rcmuir Robert Muir
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: