Skip to content

Conversation

jdconrad
Copy link
Contributor

This change adds additional plumbing to pipe through the available cluster features into SearchSourceBuilder. A number of different APIs use SearchSourceBuilder so they had to make this available through their parsers as well often through ParserContext. This change is largely mechanical passing a Predicate into existing REST actions to check for feature availability.

Note that this change was pulled mostly from this PR (#105040).

jdconrad and others added 30 commits October 13, 2023 10:07
This change adds an RRFRetrieverBuilder using the same strategy as ClassicRetrieverBuilder where we extract the parsed request body into a SearchSourceBuilder.
This adds an initial linear combination retriever using a similar strategy to RRF. This prototype will allow us to cover all existing use cases for standard search, and should make it easier to implement retrievers at more than a superficial level.
This change does the following: * renames the classic retriever to standard retriever * adds support for (pre) filter to the standard retriever * adds yaml tests for the standard retriever that covers all of the parse fields
This change removes all of the serialization code from retrievers since these will only be used as x- content parsers extracting values into the SearchSourceBuilder. This drastically reduces the test coverage area required. This change also removes post filter from the standard retriever for now as a post filter may need to apply to all returned documents in a compound query. Finally, this adds some additional checks for values that should not be shared between global values and retriever values.
This change adds yaml tests for the rrf retriever. This also fixes a bug that will allow knn retrievers to add their knn query as an addition to the current knn queries as opposed to overwriting it. This only applies to compound retrievers. This also adds a gate rrf platinum licensing.
@jdconrad jdconrad added :Search/Search Search-related issues that do not fall into other categories >refactoring v8.13.0 labels Feb 12, 2024
@jdconrad jdconrad requested review from a team as code owners February 12, 2024 18:19
@elasticsearchmachine elasticsearchmachine added the Team:Search Meta label for search team label Feb 12, 2024
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-search (Team:Search)

Copy link
Contributor

@mayya-sharipova mayya-sharipova left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jdconrad Thanks Jack, this LGTM

@jdconrad jdconrad merged commit b5828fb into elastic:main Feb 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

>refactoring :Search/Search Search-related issues that do not fall into other categories Team:Search Meta label for search team v8.13.0

4 participants