Skip to content

[Feature Request] Support SMILE as a document format for GRPC Bulk requests and Search responses #19311

@karenyrx

Description

@karenyrx

Is your feature request related to a problem? Please describe

Protobuf documents used in gRPC today are not fully capitalizing on gains from binary encoding. For both Search APIs and Bulk APIs, the gRPC/Protobuf APIs accepts/returns a JSON document in a protobuf bytes field, which does not benefit from Protobuf serialization.

Describe the solution you'd like

Support SMILE as a supported document format in the gRPC Bulk API and gRPC Search API.

Related component

Search:Performance

Describe alternatives you've considered

No response

Additional context

What is SMILE and why use it?

SMILE is a binary serialization of the generic JSON data model, which is already supported in the OpenSearch server as an XContent format.

Per SMILE gRPC benchmarking results (slides taken from OpenSearch Con NA 2025 - Advancing OpenSearch With gRPC and Protobuf at Uber), SMILE can reduce both gRPC search and gRPC indexing latency, reduce the payload size across the wire, as well as reduce client-side decoding latency.

  • Search:
Image
  • Bulk:
Image
  • Client-side decoding and payload size reduction:
Image

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

✅ Done

Status

Done/Won't Do

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions