Is your feature request related to a problem? Please describe.
Currently, the k-NN plugin only supports REST API queries. With OpenSearch moving transport-grpc from a plugin to a core module (PR #18897), and real world benchmarking results (which will be published in a separate future issue) showing a sizeable performance gains for GRPC KNN over HTTP queries, there's an opportunity to provide native GRPC support for k-NN queries.
Describe the solution you'd like
Add native GRPC support for k-NN queries, enabling clients to perform vector searches using Protocol Buffers over GRPC transport instead of REST APIs.
Expected performance benefits include:
- Reduced Serialization Overhead: Binary protocol buffers vs JSON
- Lower Network Latency: HTTP/2 multiplexing vs HTTP/1.1
- Better Throughput: Connection reuse and streaming capabilities
- Type Safety: Compile-time validation vs runtime JSON parsing
- Streaming support: Potential for streaming large result sets
Describe alternatives you've considered
N/A
Additional context
Milestones
Is your feature request related to a problem? Please describe.
Currently, the k-NN plugin only supports REST API queries. With OpenSearch moving transport-grpc from a plugin to a core module (PR #18897), and real world benchmarking results (which will be published in a separate future issue) showing a sizeable performance gains for GRPC KNN over HTTP queries, there's an opportunity to provide native GRPC support for k-NN queries.
Describe the solution you'd like
Add native GRPC support for k-NN queries, enabling clients to perform vector searches using Protocol Buffers over GRPC transport instead of REST APIs.
Expected performance benefits include:
Describe alternatives you've considered
N/A
Additional context
Milestones