Lucene - Core
  1. Lucene - Core
  2. LUCENE-4683

Change Aggregator and CategoryListIterator to be per-segment

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.1, 6.0
    • Component/s: modules/facet
    • Labels:
      None
    • Lucene Fields:
      New, Patch Available

      Description

      As another improvement, these two (mostly CategoryListIterator) should be per-segment. I've got a patch nearly ready, will post tomorrow.

        Activity

        Hide
        Shai Erera added a comment -
        • Added setNextReader to CategoryListIterator (instead of init()) and Aggregator.
        • Modified StandardFacetsAccumulator to iterate of the segment's atomic readers and call setNextReader accordingly.
        • Fixed an issue in ScoredDocIdsUtils where it assumed ScoredDocIDs are OpenBitSet where for a long time they are FixedBitSet. This caused unnecessary copy from FixedBitSet to OpenBitSet.
        • Most of the other changes are API changes, i.e. createCategoryListIterator no longer takes an IndexReader etc.

        I didn't add yet a CHANGES line because I'm not sure if this will make it into 4.1. Basically it's ready to go in (all tests pass), so I'll check later today what's the status of the 4.1 branch and decide accordingly.

        This now makes the cutover to DocValues even easier. That's what I'd like to do next.

        Show
        Shai Erera added a comment - Added setNextReader to CategoryListIterator (instead of init()) and Aggregator. Modified StandardFacetsAccumulator to iterate of the segment's atomic readers and call setNextReader accordingly. Fixed an issue in ScoredDocIdsUtils where it assumed ScoredDocIDs are OpenBitSet where for a long time they are FixedBitSet. This caused unnecessary copy from FixedBitSet to OpenBitSet. Most of the other changes are API changes, i.e. createCategoryListIterator no longer takes an IndexReader etc. I didn't add yet a CHANGES line because I'm not sure if this will make it into 4.1. Basically it's ready to go in (all tests pass), so I'll check later today what's the status of the 4.1 branch and decide accordingly. This now makes the cutover to DocValues even easier. That's what I'd like to do next.
        Hide
        Commit Tag Bot added a comment -

        [trunk commit] Shai Erera
        http://svn.apache.org/viewvc?view=revision&revision=1432890

        LUCENE-4683: Change Aggregator and CategoryListIterator to be per-segment

        Show
        Commit Tag Bot added a comment - [trunk commit] Shai Erera http://svn.apache.org/viewvc?view=revision&revision=1432890 LUCENE-4683 : Change Aggregator and CategoryListIterator to be per-segment
        Hide
        Shai Erera added a comment -

        I ran tests few times and all was quiet. Committed to trunk and 4x (add CHANGES too).

        Show
        Shai Erera added a comment - I ran tests few times and all was quiet. Committed to trunk and 4x (add CHANGES too).
        Hide
        Commit Tag Bot added a comment -

        [branch_4x commit] Shai Erera
        http://svn.apache.org/viewvc?view=revision&revision=1432894

        LUCENE-4683: Change Aggregator and CategoryListIterator to be per-segment

        Show
        Commit Tag Bot added a comment - [branch_4x commit] Shai Erera http://svn.apache.org/viewvc?view=revision&revision=1432894 LUCENE-4683 : Change Aggregator and CategoryListIterator to be per-segment

          People

          • Assignee:
            Shai Erera
            Reporter:
            Shai Erera
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development