The Elasticsearch-compatible API
OriginChainDB answers the Elasticsearch REST API and Query DSL over the same store your SQL and HTTP calls see. Point the official client at your instance and the requests you already write keep working — but the documents live in your database, so a write is searchable the moment it commits and your row-level security and column masking apply to the search itself.
What you point at it
Any Elasticsearch 7.x client, or plain HTTP. The cluster reports version 7.14.2, which clears the product check the official clients run on connect. The base path is your tenant's ES endpoint; every index lives under it.
POST /v1/tenants/:tenant/es/:index/_search
PUT /v1/tenants/:tenant/es/:index/_doc/:id
POST /v1/tenants/:tenant/es/_bulkWhat makes it different from a search cluster
- No sync, no lag. A document is written by the same transaction that writes the row, so it is searchable the instant the call returns. There is no refresh interval to wait on and no connector to keep running.
- Your policies apply to the search. Row-level security and column masking are enforced on the query itself, not just on the documents it returns. A caller who cannot see a row will not find it, and a query against a masked column is refused rather than answered.
- One store. The same data answers SQL, the HTTP API, vector search and this. Nothing is copied anywhere.
What it does not do
This is a drop-in for the API real clients and dashboards exercise, not the entire Elasticsearch surface. Anything not answered faithfully is refused with an explicit error — it never returns a wrong or silently partial result. Each page below states its own limits where you meet them; the short list:
| Area | Answered | Refused, and why |
|---|---|---|
| Aggregations | terms, metrics, range, histogram, date_histogram, percentiles, top_hits, filters, sub-aggregations, pipelines | extended_stats, composite, nested have no executor yet; missing on a metric aggregation would fill in a value you did not choose |
| Suggesters | the term suggester, with suggest_mode | phrase and completion have no executor; popular ranks by a document frequency this API does not report |
| Paging | search_after within a 10,000-hit window | Point-in-Time and scroll hold a snapshot this engine does not take |
| Scoring | function_score, per-field boosts | script_score and rescore would run arbitrary script |
| Cluster management | index create, delete, mapping, _field_caps | index lifecycle, snapshots and templates are managed by OriginChainDB, not over this API |
Vector and hybrid search live on their own surface — see querying.
Elasticsearch is a trademark of Elasticsearch B.V., registered in the U.S. and in other countries. OriginChainDB is not affiliated with, endorsed by, or sponsored by Elasticsearch B.V. OriginChainDB implements a compatible HTTP API so that existing Elasticsearch clients can talk to it; it does not distribute Elasticsearch software.