The gateway is a query translation layer. It does not copy data out of Pinot and it does not turn Pinot into a writable Elasticsearch cluster.
Architecture
/es base path when enabled.
When to Use
Use the Elasticsearch Gateway when:- Observability or BI users already know Kibana or OpenSearch Dashboards.
- You want to browse Pinot tables without exporting data into Elasticsearch.
- Your dashboard uses common
_search,_count,_msearch, field-caps, mapping, and single-level aggregation requests. - You want Pinot text indexes to back simple full-text Query DSL clauses.
Enable the Gateway
The gateway is disabled by default. Enable it on the StarTree proxy:/es path.
OpenSearch Dashboards:
Verify the Endpoint
Check the handshake:Supported Endpoints
Write endpoints such as
_doc, _bulk, and index creation are not supported and return an error.
Query Examples
Basic Search
Range Filter
Terms Aggregation
Query DSL Support
Supported leaf clauses:
Supported compound clause:
Supported aggregations:
- One bucket aggregation level:
date_histogram,terms, orhistogram. - Metric sub-aggregations:
avg,sum,min,max,value_count, andcardinality. - Metric-only aggregations.
_source, and track_total_hits are supported. Field names ending in .keyword are normalized to the underlying Pinot column.
Full-Text Search
Full-text Query DSL clauses use Pinot’s Lucene-backedTEXT_MATCH only when the target column has a Pinot text index.
Add a text index to searchable string columns:
LIKE behavior. It does not reproduce Elasticsearch relevance scoring; results are unranked unless the request includes an explicit sort.
Create an Index Pattern
In Kibana or OpenSearch Dashboards:- Open the index-pattern or data-view creation screen.
- Enter a Pinot table name such as
baseballStats. - Select an epoch-millis
LONGor timestamp column as the time field if the table has one. - Open Discover and query the table.
Limitations
- Read/query path only. Writes, bulk ingest, and index creation are not supported.
- Saved objects require a separate writable Elasticsearch/OpenSearch store.
- Nested bucket aggregations are not supported.
date_histogramassumes an epoch-millis numeric or timestamp time column.- Offset paging with
from > 0is stable only when the request supplies a sort. - Query DSL support is intentionally partial and optimized for common dashboard/discovery workflows.

