# elastic/elasticsearch-ruby

Ruby integrations for Elasticsearch

Repository: https://github.com/elastic/elasticsearch-ruby
Canonical: https://ross.abutalabs.com/products/elasticsearch-ruby
Homepage: https://www.elastic.co/docs/reference/elasticsearch/clients/ruby
Language: Ruby
License: Apache-2.0
License Family: permissive
Topics: ruby, elasticsearch, elastic, search, rubynlp, client
Last push: 2026-08-24T06:13:43+00:00

## Health v2 (maintenance only)
Score: 98/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 96, longevity 100
- inputs: {"age_days": 4870, "days_push": 9, "days_rel": 29, "gap_med": 7.0, "n_releases_24m": 35}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1977, forks 615 (observed 2026-08-28T04:06:01.491284+00:00)

## What it is
The official Ruby client for Elasticsearch, combining the elastic-transport and elasticsearch-api gems to provide full REST API coverage for an Elasticsearch cluster. It supports pluggable transports, serializers, connection strategies, retries, and node discovery.

## Use cases
- connect to elasticsearch from ruby
- index and search documents in elasticsearch with ruby
- build full-text search in a rails app
- query elasticsearch cluster from ruby code
- manage elasticsearch indices programmatically
- integrate elastic cloud with a ruby application

## When to choose
- you use Ruby or JRuby and need to talk to an Elasticsearch cluster
- you want an official client with 100% REST API coverage and active maintenance
- you need pluggable transport, logging, retries, and node discovery

## When to avoid
- you use another language like Python, Java, or Go
- you need a high-level ORM-like abstraction over Elasticsearch rather than a low-level client
- you use a non-Elasticsearch search engine

## Facets
- artifact type: library
- maturity: stable
- function: database-driver, search-engine, http-client
- domain: databases, developer-tools
- platform: ruby, jvm
- tags: elasticsearch, official-client, rest-api, elastic-stack, full-text-search, search

## Member repositories
- elastic/elasticsearch-ruby (main) score 98

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:01.491284+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:04:47.217935+00:00, confidence not recorded.
  - readme: https://github.com/elastic/elasticsearch-ruby (fetched 2026-08-28T04:06:01.491284+00:00, sha 697bf283aa6e)
  - homepage: https://www.elastic.co/docs/reference/elasticsearch/clients/ruby (fetched 2026-08-29T10:43:59.197701+00:00, sha 5feba81f2427)
  - site_page: https://www.elastic.co/docs/reference/elasticsearch/clients/ruby/getting-started (fetched 2026-08-29T10:43:59.218000+00:00, sha b248a87cc4a1)
  - site_page: https://www.elastic.co/docs (fetched 2026-08-29T10:43:59.206626+00:00, sha c4139162fd2c)
  - site_page: https://www.elastic.co/docs/release-notes (fetched 2026-08-29T10:43:59.208530+00:00, sha d4b31583341e)
  - site_page: https://www.elastic.co/docs/troubleshoot (fetched 2026-08-29T10:43:59.210200+00:00, sha b263eaa4c10d)
  - site_page: https://www.elastic.co/docs/reference/elasticsearch/clients/ruby/transport (fetched 2026-08-29T10:43:59.220304+00:00, sha e7eff4073071)
  - site_page: https://www.elastic.co/docs/reference (fetched 2026-08-29T10:43:59.212066+00:00, sha 80a0b6758b94)
  - site_page: https://www.elastic.co/docs/reference/elasticsearch (fetched 2026-08-29T10:43:59.214007+00:00, sha 9a16ee61c2e5)
  - site_page: https://www.elastic.co/docs/reference/elasticsearch-clients (fetched 2026-08-29T10:43:59.215816+00:00, sha 72b5f16ced87)
- Data as of 2026-08-30T08:39:29.467469+00:00.
