Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 5.0
    • Fix Version/s: 5.3, 6.0
    • Component/s: core/other
    • Labels:
    • Lucene Fields:
      New, Patch Available

      Description

      Replaced Operations.getFiniteStrings() by an optimized FiniteStringIterator.

      Benefits:
      Avoid huge hash set of finite strings.
      Avoid massive object/array creation during processing.

      "Downside":
      Iteration order changed, so when iterating with a limit, the result may differ slightly. Old: emit current node, if accept / recurse. New: recurse / emit current node, if accept.

      The old method Operations.getFiniteStrings() still exists, because it eases the tests. It is now implemented by use of the new FiniteStringIterator.

        Attachments

        1. LUCENE-6365.patch
          56 kB
          Michael McCandless
        2. FiniteStrings_reuse.patch
          58 kB
          Markus Heiden
        3. FiniteStrings_noreuse.patch
          57 kB
          Markus Heiden

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              markus_heiden Markus Heiden
            • Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: