30 open-source projects similar to elastic/go-elasticsearch, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
This project is a programmatic client for managing the lifecycle of documents within a distributed JSON search engine. It provides an Elasticsearch search client for indexing documents and performing complex queries, alongside a low-level client that acts as a flexible wrapper for sending raw HTTP requests to a cluster. The client features a fluent request builder that maps typed requests to REST API endpoints and a generic mapping layer to transform JSON responses into strongly typed objects. It employs a pluggable serialization mechanism to decouple the request-response lifecycle from speci
This project is a Go client library and API wrapper for interacting with Elasticsearch clusters. It serves as a programmatic interface for managing documents, indices, and cluster health, allowing Go applications to perform search and indexing operations via the REST API. The library functions as a distributed search orchestrator, providing specialized tools for high-throughput data ingestion and cluster administration. It features a buffered bulk processor with exponential backoff retries for optimizing write performance and supports automated index lifecycle transitions and historical data
Riot is a Go-based distributed search engine and indexing server designed for full-text indexing and retrieval. It functions as a retrieval system that sorts documents by relevance using BM25 ranking algorithms, term frequency, and inverse document frequency. The engine provides specialized support for the Chinese language, featuring concurrent text segmentation and phonetic Pinyin mapping to match romanized input with characters. It utilizes a distributed architecture that employs hash-based index sharding to balance data load and throughput across multiple server nodes. The system covers a
Spring Data Elasticsearch is a data access library that maps Java objects to Elasticsearch indices. It functions as an object mapper, a repository abstraction, and a query DSL wrapper, providing both a standard and a reactive client for executing asynchronous search and persistence operations. The project distinguishes itself by automating data access through repository interfaces, which generate query logic based on method naming conventions. It enables the construction of complex search queries using a domain-specific language and supports advanced search capabilities such as vector similar
This project is a software development kit and cluster management tool for PHP. It serves as a full-text search SDK and vector search interface, enabling applications to perform lexical, fuzzy, and semantic searches against indexed data. The library implements a PSR 7 HTTP client to ensure cross-environment compatibility through standardized messaging interfaces. It provides a specialized interface for retrieving embeddings and performing semantic retrieval workflows using vector data. Its capability surface covers a wide range of administrative and operational tasks, including search index
elasticsearch-py is a distributed search API wrapper and cluster administrator. It serves as a secure connector for executing search queries and performing administration tasks against a search engine. The library provides a high-level interface for managing indices, documents, and node connections. It enables encrypted data transmission and authenticated communication with a search cluster. The project covers full-text search, data management, and cluster administration. It includes capabilities for managing document data, implementing complex search queries, and maintaining reliable commun
This project is a Node.js client and database driver for Elasticsearch. It acts as a REST API wrapper that translates JavaScript method calls into HTTP requests to index, search, and manage documents within a distributed search and analytics engine. The library provides a programmatic interface for cluster management and data integration. It includes tools for discovering cluster nodes and managing indices to maintain connection stability and organize data storage. The client covers a broad range of operations, including document lifecycle management for CRUD actions, search query execution,
elasticsearch-dsl-py is a Python library for search integration that enables the construction of complex queries and the management of indices through a programmatic interface. It connects Python applications to a distributed search engine to implement advanced filtering and structured data retrieval. The library employs an object-relational mapping pattern and a declarative schema definition to synchronize data structures using Python classes. It utilizes a fluent interface query builder with method chaining to incrementally construct search requests, which are lazily evaluated and serialize
RavenDB is a multi-model NoSQL document database designed for high-performance, ACID-compliant data storage. It persists structured information as schema-flexible JSON documents and utilizes a unit-of-work session pattern to track entity changes and batch modifications into atomic transactions. The platform is built on a distributed architecture that supports horizontal scaling through sharding and ensures high availability via multi-node, master-to-master cluster replication. The database distinguishes itself through a self-optimizing query engine that automatically creates and maintains ind
This project is a full text search engine and enterprise search infrastructure designed for indexing and retrieving large sets of documents. It provides a comprehensive framework for information discovery using ranked results and linguistic analysis. The system integrates high-dimensional vector similarity search for semantic retrieval alongside traditional full-text capabilities. It distinguishes itself through support for geospatial data retrieval, multilingual text processing, and a search suggestion workflow that includes typo-tolerant query completion and spellchecking. The platform cov
Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations
Searchkick is an integration library and wrapper that connects application models to search engines such as Elasticsearch and OpenSearch. It functions as a search index synchronizer, automatically mirroring database records to a search server to enable full-text and vector retrieval. The project provides a high-level interface for implementing keyword search, semantic vector search, and hybrid search. It distinguishes itself through the ability to combine traditional keyword matching with vector embeddings using reranking and fusion techniques to improve precision. The library covers the end
zvec is an embedded vector database engine and indexing library designed for high-dimensional similarity search. It functions as a hybrid search engine and a retrieval-augmented generation knowledge base, allowing for the storage and retrieval of dense and sparse vectors. The system is distinguished by its hybrid retrieval pipeline, which fuses vector similarity, full-text keyword matching, and scalar metadata filtering into single query operations. It supports a plugin-based model integration system for registering custom embedding models and rerankers, as well as language bindings for nativ
Query Server is a federated search gateway and multi-engine aggregator that dispatches search requests across multiple external web platforms simultaneously. It collects comprehensive results through a unified endpoint, consolidating information from diverse search engines into a single response. Beyond aggregation, the service transforms retrieved search data dynamically into multiple structured output formats including JavaScript Object Notation, Extensible Markup Language, and comma-separated values based on incoming client request parameters. It also automatically records executed search
Cerebro is an administration tool for OpenSearch and Elasticsearch clusters, providing a web-based graphical interface to monitor health and manage performance. It serves as a central console for cluster administration, including the creation and organization of indices, aliases, and index templates. The project distinguishes itself through integrated directory authentication, utilizing LDAP services to manage user identities and access permissions. It also includes a dedicated REST client console for sending manual requests to clusters, featuring autocompletion and the ability to export requ
AliSQL is a fork of MySQL by Alibaba that extends the relational database management system with enhancements for high performance, scalability, and enterprise-grade availability. It retains the core MySQL identity as a SQL-based database for storing, organizing, and retrieving structured data, while adding optimizations for large-scale transactional and analytical workloads. The project differentiates itself through a set of Alibaba-specific improvements, including a columnar engine for accelerating analytical queries directly on MySQL tables, and a distributed, shared-nothing NDB Cluster en
hnswlib is a header-only C++ library and vector indexing engine designed for high-dimensional approximate nearest neighbor search. It organizes large collections of embeddings into a searchable graph structure to enable rapid proximity queries and distance calculations. The system utilizes Hierarchical Navigable Small World graphs to achieve fast vector similarity search. It distinguishes itself by allowing the definition of custom distance metrics and similarity functions to adapt calculations to specific data requirements. The engine covers the full indexing lifecycle, including incrementa
Django Haystack is a search abstraction layer and framework for integrating full-text search into Django applications. It provides a unified interface for defining search schemas and managing how data models are indexed and stored across different search engines. The framework acts as a modular backend wrapper, allowing applications to switch between interchangeable search providers without rewriting core search logic. It standardizes interactions with external engines through a decoupled provider layer, facilitating search engine migration by changing configuration settings. The system cove
Pagefind is a static site search engine that indexes HTML files to provide a browser-based search experience without the need for a backend server or API. It consists of a multilingual search indexer and a set of prebuilt, customizable user interface components for rendering search inputs and result lists. The system is designed for global content, utilizing a multilingual search indexer that detects page languages and creates independent index bundles to provide language-specific stemming and results. It further optimizes performance by using a compressed index and offloading query execution
Annoy is a C++ library designed for approximate nearest neighbor search in high-dimensional vector spaces. It functions as a vector similarity search engine that constructs static, disk-based data structures to facilitate fast lookups. By mapping identifiers to vector data and persisting these structures to disk, the library enables efficient, memory-mapped access to large datasets. The project distinguishes itself through the use of random projection trees and distance-metric-based partitioning, which organize data into hierarchical binary trees to balance search precision against computatio
Wukong is a distributed full-text search engine designed for indexing and retrieving text documents. It functions as a customizable search backend that employs a BM25 relevance ranker to order search results based on term frequency and inverse document frequency. The system includes a specialized Chinese text segmenter to break continuous character strings into meaningful words for accurate indexing and retrieval. To handle large datasets and high request volumes, it utilizes a distributed search index that employs hash-based sharding to split documents across multiple nodes. The engine prov
convert sql to elasticsearch DSL in golang(go)
Blast is a full text search and indexing server, written in Go, built on top of Bleve.