Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sort field tiebreaker for PIT (point in time) readers #66093

Merged
merged 12 commits into from
Dec 18, 2020

Commits on Dec 9, 2020

  1. Sort field tiebreaker for PIT (point in time) readers

    This commit introduces a new sort field called `_shard_doc` that
    can be used in conjunction with a PIT to consistently tiebreak
    identical sort values. The sort value is a numeric long that is
    composed of the ordinal of the shard (assigned by the coordinating node)
    and the internal Lucene document ID. These two values are consistent within
    a PIT so this sort criteria can be used as the tiebreaker of any search
    requests.
    Since this sort criteria is stable we'd like to add it automatically to any
    sorted search requests that use a PIT but we also need to expose it explicitly
    in order to be able to:
    * Reverse the order of the tiebreaking, useful to search "before" `search_after`.
    * Force the primary sort to use it in order to benefit from the `search_after` optimization when sorting by index order (to be released in Lucene 8.8.
    
    I plan to add the documentation and the automatic configuration for PIT in a follow up since this change is already big.
    
    Relates elastic#56828
    jimczi committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    b34df54 View commit details
    Browse the repository at this point in the history
  2. unrelated change

    jimczi committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    e58ab36 View commit details
    Browse the repository at this point in the history
  3. fix typo

    jimczi committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    3a45655 View commit details
    Browse the repository at this point in the history
  4. fix typo

    jimczi committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    53153aa View commit details
    Browse the repository at this point in the history
  5. unrelated change

    jimczi committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    fd55bdb View commit details
    Browse the repository at this point in the history
  6. fix conflict

    jimczi committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    813ae37 View commit details
    Browse the repository at this point in the history
  7. fix typo

    jimczi committed Dec 9, 2020
    Configuration menu
    Copy the full SHA
    5d8f0c9 View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2020

  1. Configuration menu
    Copy the full SHA
    5af84f5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f632d0a View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2020

  1. Configuration menu
    Copy the full SHA
    509df9f View commit details
    Browse the repository at this point in the history
  2. fix compil

    jimczi committed Dec 18, 2020
    Configuration menu
    Copy the full SHA
    9de14e9 View commit details
    Browse the repository at this point in the history
  3. fix mock in tests

    jimczi committed Dec 18, 2020
    Configuration menu
    Copy the full SHA
    c7a279c View commit details
    Browse the repository at this point in the history