Elasticsearch alternative

The search engine
that doesn't cost
a fortune to run.

Build a trigram index on any machine — even a $4/month VPS. No JVM. No heap tuning. No cluster. Flatseek indexes your CSV, and you query it via dashboard or CLI. Scale from a single file to billions of rows.

$ curl -fsSL flatseek.io/install.sh | sh

or pip install flatseek  ·  View on GitHub

~60%
lower infrastructure cost vs Elasticsearch
~40%
smaller index size on disk
0
JVM heap parameters to tune

Stop paying for hardware
you don't need.

Elasticsearch's JVM heap and cluster requirements add up fast. Flatseek stores everything on disk — memory-mapped, minimal resident set. Your $4 VPS is enough.

Flatseek
Infrastructure $4/month VPS
Long-running node No — query and exit
JVM heap tuning None
Index size Trigram — compact
Dashboard Built-in Flatlens
You only pay for storage.
Elasticsearch
Infrastructure Dedicated cluster, 64GB RAM
Long-running node Required 24/7
JVM heap tuning Required per deployment
Index size Full inverted index, 2–3× larger
Dashboard Separate Kibana license
You pay for cluster + heap + ops.
VS

Pick what fits your workflow.

Flatlens for quick file exploration. CLI and Python API for production scale.

Dashboard

Flatlens — for day-to-day CSV work

Open a CSV file in your browser. Search it, chart it, map it. No CLI, no scripts. Built for analysts and anyone who wants answers without a build step.

  • Drag-drop CSV, JSON, JSONL, XLS
  • Visual search with filter builder
  • Bar, line, donut, pie aggregation charts
  • Interactive Leaflet map with clustering
  • Encrypt indices with a password
Flatlens docs
CLI & API

CLI & Python API — for production scale

Handle billion-row indices, automate pipelines, embed in your services. Parallel workers, resume on interrupt, REST API for your own frontend.

  • flatseek build, serve, search, stats, plan
  • Parallel multi-worker indexing with resume
  • Cross-index joins on shared fields
  • Python client — API mode or direct mode
  • Natural language chat via Ollama
CLI & API docs

Everything you need from a search engine.

Multi-format ingest

CSV, JSON, JSONL, XLS, XLSX. Auto-detect delimiters and column types on import.

Disk-native queries

Memory-mapped trigram index. Resident memory stays low regardless of index size.

Full-text search

Wildcards, fuzzy, phrase match. AND, OR, NOT, grouping. Works on all text fields.

On-disk aggregations

Terms, stats, date histogram, cardinality. Computed without loading docs into RAM.

ChaCha20-Poly1305 encryption

Passphrase-protected indices with PBKDF2-HMAC-SHA256 key derivation.

Parallel builds with resume

Multi-worker indexing with auto-planning. Resume interrupted builds with ETA display.

From CSV to search in 30 seconds.

flatseek
$ # Build index from CSV
$ flatseek build ./data/people.csv -o ./data
Built 1.2M docs in 12s

$ # Serve API + dashboard — point to your data dir
$ flatseek serve -d ./data
API: http://localhost:8000  ·  Dashboard: http://localhost:8000/dashboard

$ # Search from CLI
$ flatseek search ./data "city:jakarta AND name:*john*"
DOC {"name": "John Doe", "city": "Jakarta", "email": "john@example.com"}
DOC {"name": "Johnny Silverhand", "city": "Jakarta", "email": "jsilver@example.com"}

$ # Or use Python
$ from flatseek import Flatseek
$ Flatseek("./data").search(q="*john*")

Stop over-engineering your search.

pip install flatseek. Or one command.
Your data stays on your machine.