finds.dev← search

// the find

zincsearch/zincsearch

★ 17,849 · Go · NOASSERTION · updated Jun 2026

ZincSearch . A lightweight alternative to elasticsearch that requires minimal resources, written in Go.

ZincSearch is a single-binary full-text search engine built on the bluge indexing library, targeting the subset of Elasticsearch API that ingestion pipelines and simple search UIs actually use. It's for small-to-medium datasets (hundreds of GBs ceiling, per their own docs) where running a full ES cluster is overkill. Not for logs or observability — they explicitly redirect you to OpenObserve for that.

Single binary with no JVM, no cluster config, no 37 tuning knobs — you can have it running in under two minutes. ES bulk ingest API compatibility means you can point existing pipelines at it without changing client code. Decent language analysis coverage: Chinese segmentation via gse, a dozen stop-word languages, ngram/edge-ngram tokenizers. WAL implementation in pkg/core/index_shards_wal.go means you're not losing documents on crash, which a lot of lightweight search alternatives skip entirely.

No high availability and no horizontal scaling — it's explicitly single-node, so if the box goes down, search goes down. The UI is 'basic' by their own admission and there's no Kibana support, so operational visibility is limited. The bluge library underneath is itself relatively immature and less battle-tested than Lucene, meaning edge cases in query behavior will surprise you when you drift from simple term/match queries. ES API compatibility is partial — you get ingestion and basic search, but anything touching aggregations, percolate queries, or index lifecycle management will silently not work or return unexpected results.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →