finds.dev← search

// the find

olivere/elastic

★ 7,450 · Go · MIT · updated Aug 2024

Deprecated: Use the official Elasticsearch client for Go at https://github.com/elastic/go-elasticsearch

A Go client for Elasticsearch that predates the official elastic/go-elasticsearch client by years. It's deprecated — the README says so, the description says so, and last meaningful activity was 2024. If you're starting a new project, use the official client instead.

The query builder API is genuinely more ergonomic than the official client's — strongly typed aggregation builders mean you get compile-time errors instead of runtime JSON surprises. The bulk processor with configurable flush intervals and retry logic is well-designed and production-tested. The recipes directory covers real patterns (parallel scroll, AWS auth, OpenTelemetry tracing) that the official client's docs still largely leave as an exercise. It has years of production scar tissue baked in — the retry/backoff logic handles split-brain clusters and transient failures correctly.

It's deprecated. That's not a minor note — Elasticsearch 8.x is not supported, and there's no path forward. If you're on ES 8 you cannot use this at all. The official elastic/go-elasticsearch client now has a typed API that closes most of the ergonomics gap. The version matrix (separate branches for v5, v6, v7) means if you hit a bug you need to figure out which branch applies before you can even read the fix. Last commit activity is 2024 with no indication anyone is maintaining v7 compatibility patches going forward.

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 →