Add retrievers using the parser-only approach (#105470)

This enhancement adds a new abstraction to the _search API called "retriever." A 
retriever is something that returns top hits. This adds three initial retrievers called
"standard", "knn", and "rrf". The retrievers use a parser-only approach where they
are parsed and then translated into a SearchSourceBuilder to execute the actual
search.
---------

Co-authored-by: Mayya Sharipova <mayya.sharipova@elastic.co>
This commit is contained in:
Jack Conradson 2024-03-12 10:11:55 -07:00 committed by GitHub
parent bfbb155985
commit 68b0acac8f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
41 changed files with 3608 additions and 210 deletions

View file

@ -358,6 +358,7 @@ module org.elasticsearch.server {
exports org.elasticsearch.search.query;
exports org.elasticsearch.search.rank;
exports org.elasticsearch.search.rescore;
exports org.elasticsearch.search.retriever;
exports org.elasticsearch.search.runtime;
exports org.elasticsearch.search.searchafter;
exports org.elasticsearch.search.slice;
@ -415,7 +416,8 @@ module org.elasticsearch.server {
org.elasticsearch.cluster.service.TransportFeatures,
org.elasticsearch.cluster.metadata.MetadataFeatures,
org.elasticsearch.rest.RestFeatures,
org.elasticsearch.indices.IndicesFeatures;
org.elasticsearch.indices.IndicesFeatures,
org.elasticsearch.search.retriever.RetrieversFeatures;
uses org.elasticsearch.plugins.internal.SettingsExtension;
uses RestExtension;