Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.6
    • Component/s: modules/other
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      It could be useful to have a block-join-friendly sorter implementation that doesn't break index-time blocks:

      • blocks must not interleave,
      • parents must remain at the end of the blocks
      1. LUCENE-5312.patch
        11 kB
        Adrien Grand

        Activity

        Hide
        Adrien Grand added a comment -

        Here is a patch that contains a new BlockJoinSorter abstract class, which allows for reordering documents without breaking index-time blocks. The order of parents and the order of children within the same parent can be configured separately.

        Show
        Adrien Grand added a comment - Here is a patch that contains a new BlockJoinSorter abstract class, which allows for reordering documents without breaking index-time blocks. The order of parents and the order of children within the same parent can be configured separately.
        Hide
        Robert Muir added a comment -

        Seems fine to me. As far as the future, I am worried about the API

        I think we should decide if the central class should be DocComparator or Sorter and adjust our APIs appropriately: e.g. with the patch its not easy to just sort on a NDV field with block joins, but I feel like it should be.

        But as a start, lets do this first and see if we can reorganize.

        Show
        Robert Muir added a comment - Seems fine to me. As far as the future, I am worried about the API I think we should decide if the central class should be DocComparator or Sorter and adjust our APIs appropriately: e.g. with the patch its not easy to just sort on a NDV field with block joins, but I feel like it should be. But as a start, lets do this first and see if we can reorganize.
        Hide
        Adrien Grand added a comment -

        Good point, I was having a very similar thought when writing the patch. I opened an issue: LUCENE-5314

        Show
        Adrien Grand added a comment - Good point, I was having a very similar thought when writing the patch. I opened an issue: LUCENE-5314
        Hide
        ASF subversion and git services added a comment -

        Commit 1538750 from Adrien Grand in branch 'dev/trunk'
        [ https://svn.apache.org/r1538750 ]

        LUCENE-5312: Add BlockJoinSorter, a block-join-friendly index sorter.

        Show
        ASF subversion and git services added a comment - Commit 1538750 from Adrien Grand in branch 'dev/trunk' [ https://svn.apache.org/r1538750 ] LUCENE-5312 : Add BlockJoinSorter, a block-join-friendly index sorter.
        Hide
        ASF subversion and git services added a comment -

        Commit 1538757 from Adrien Grand in branch 'dev/branches/branch_4x'
        [ https://svn.apache.org/r1538757 ]

        LUCENE-5312: Add BlockJoinSorter, a block-join-friendly index sorter.

        Show
        ASF subversion and git services added a comment - Commit 1538757 from Adrien Grand in branch 'dev/branches/branch_4x' [ https://svn.apache.org/r1538757 ] LUCENE-5312 : Add BlockJoinSorter, a block-join-friendly index sorter.

          People

          • Assignee:
            Adrien Grand
            Reporter:
            Adrien Grand
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development