Drop-in Elasticsearch
replacement. 10x cheaper.

Infino supports Query DSL, so existing clients and most queries keep working. Data stays in your bucket as Parquet, in a format other tools can read. You also stop operating the cluster: no mapping explosions, cluster management, or scaling exercises.

your application same Query DSL elasticsearch retires OBJECT STORAGE docs.sf.parquet

cat request.json

Your queries keep working

Point existing clients at Infino. Compatible Query DSL requests keep the same shape; unsupported Lucene features are listed below.

request.json
// POST /tickets/_search · compatible request
{
  "query": {
    "bool": {
      "must":   { "match": { "body": "disk full" } },
      "filter": { "term":  { "level": "error" } }
    }
  },
  "size": 10
}

// → same request shape and client · answered from Parquet in your bucket

cat upgrade.sql

SQL joins on search results

In Infino a ranked search is a relation, so it joins against the rest of your data in the same statement.

upgrade.sql
SELECT   p.name AS plan, count(*) AS tickets
FROM     hybrid_search('tickets', 'body', 'disk full',
                       'embedding', :q, 5000) h    -- keyword + vector, fused
JOIN     accounts a ON a.id = h.account_id          -- a plain table
JOIN     plans    p ON p.id = a.plan_id
GROUP BY p.name
ORDER BY tickets DESC;

-- → search joined to your business tables

RAG on Infino →

cat RUNBOOK.diff

What you stop operating

Elasticsearch and OpenSearch are clusters you run. Infino is an engine over files in your bucket.

  • No mapping explosions. Infino uses a table schema; a new field is a new column.
  • No cluster management. There are no masters, shard allocation, heap tuning, or circuit breakers to keep healthy.
  • No scaling exercises. Storage grows in the bucket; compute is added when queries need it. Nothing is resharded or rebalanced.

infino cost --compare

What the bill looks like

The calculator uses Elastic Cloud Hosted, Amazon OpenSearch Service, and Pinecone Serverless list rates. Infino meters storage, writes, retrieval tokens, and returned bytes.

logical storage $0.30 per GB-month
10M docs 10 GB billed
$3
logical writes $1.90 per GB written
1M docs written 1 GB written
$2
retrieval tokens $48.00 per 1M RT
1M queries 0.438 RT each from 10 GB, 438K RT
$21
returned bytes $0.40 per GB returned
10 docs returned 10 GB returned
$4
infino $30/month account minimum
Elasticsearch $809

Elastic Cloud Hosted · Platinum

2-zone · us-east-1 list rates · 8 GB/zone floor · 10 GB stored

data nodes2 × 8 GB · $0.0426/GB-hr$498
masters6 GB$187
Kibana4 GB$124
total$809
27.0×
OpenSearch $528

OpenSearch Service

2-zone · us-east-1 list rates · 8 GB/zone floor · 10 GB stored

data nodes2 × r6g.large.search · $0.167/hr$244
masters3 × m6g.large$280
EBS gp329 GB$4
total$528
17.7×

infino migrate --from elasticsearch

How migration works

  • Export with the scroll API or the pipeline you already run.
  • Append into Infino tables in your bucket; indexing happens on write.
  • Dual-run both systems against real traffic and compare results and cost.
  • Cut reads over. For compatible Query DSL queries, this is an endpoint change.

The migration path in detail →

cat TRADEOFFS.md

What you keep, what you lose

  • Keep: Query DSL, Logstash, Filebeat, Vector, BM25 relevance, vector and hybrid search, and every byte of your data, now as open Parquet.
  • Gain: full SQL over the same rows, retention at bucket rates, and no cluster to run: no mapping explosions, no shard rebalancing, no scaling exercises. Dashboards are agent-driven.
  • Lose: Kibana and OpenSearch Dashboards; use Elasticsearch or OpenSearch when you need those UIs, saved objects, or Lens. Some Lucene features are also unsupported (analyzers, span queries, stop words, distance, proximity). Idle tables have a cold first query.

vs elasticsearch / opensearch →

cat FAQ.md

Will existing Elasticsearch queries and clients work with Infino?

On the query side, Infino speaks the Elasticsearch Query DSL, so existing clients and most queries keep working. Ranked results may be slightly different. Infino does not support some Lucene features, including analyzers, span queries, stop words, distance, and proximity. Logstash, Filebeat, Vector, and other API clients keep working; Kibana and OpenSearch Dashboards do not. Dashboards on Infino are agent-driven (question → SQL → pin). The data is reindexed into Parquet in your bucket, there is no converter for Lucene segments, and dual-run during migration is where you compare results.

Do I still have to manage an Elasticsearch cluster?

No. Infino does not run shards, replicas, or cluster managers. Storage grows as files in your bucket; compute is a process over those files. Mapping explosions, shard rebalancing, and scaling exercises are Elasticsearch operations; they do not apply.

Is Infino cheaper than Elasticsearch or OpenSearch?

Yes. Infino is 10× cheaper because it keeps one searchable copy in object storage instead of an always-on replicated search cluster. The calculator on this page models Infino against Elastic Cloud Hosted and Amazon OpenSearch Service using published AWS us-east-1 list rates.

What does SQL add that Elasticsearch does not have?

Search results become relations. A ranked hybrid search can be joined against your accounts table, grouped by plan, or windowed by week, in one query, with no export to a warehouse. Elasticsearch offers ES|QL and a SQL plugin; Infino runs full SQL through DataFusion with search as table-valued functions.

How does migration work?

Export with the scroll API or the pipeline you already run, append into Infino tables, then dual-run both systems against real traffic and compare. Most Query DSL queries keep working without a rewrite; queries that use Lucene analyzers, span queries, stop words, distance, or proximity will need to change.

Does this apply to OpenSearch too?

Yes. The same Query DSL surface covers OpenSearch, with the same caveats: ranked results may be slightly different, and Infino does not support some Lucene features, including analyzers, span queries, stop words, distance, and proximity. The same migration path applies: scroll out, append in, dual-run, cut over.