30 open-source projects similar to spring-projects/spring-data-elasticsearch, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Spring Data Elasticsearch alternative.
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
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
Zombodb is a database extension and relational data indexer that integrates PostgreSQL with Elasticsearch. It provides a SQL search interface, allowing users to execute complex search queries and aggregations using standard SQL functions and syntax instead of native JSON APIs. The project synchronizes relational data from PostgreSQL to a remote search engine to enable high-performance full-text search and analytics. The system distinguishes itself by bridging relational structures with search engine capabilities, specifically through geospatial search integration for geometry and geography ty
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
The official Go client for Elasticsearch
RediSearch is a Redis module that adds secondary indexing, full-text search, aggregation, and vector similarity search directly into the in-memory data store. It operates as an in-process search engine, extending the core key-value store with capabilities for indexing hash and JSON documents, enabling fast field-level lookups beyond primary key access. The module provides a full-text search engine built on inverted indexes, supporting stemming, fuzzy matching, and relevance scoring via tf-idf. It also includes a vector similarity search engine using a Hierarchical Navigable Small World graph
Pinot is a distributed, columnar analytical database designed for high-concurrency, low-latency query processing. It functions as a real-time OLAP datastore, enabling interactive, user-facing analytics by ingesting and querying massive datasets from both streaming and batch sources. The system architecture relies on a centralized controller for cluster coordination and a distributed segment-based storage model to ensure horizontal scalability. The platform distinguishes itself through a hybrid ingestion pipeline that unifies real-time event streams and historical batch data into a single quer
MongoEngine is a Python object-document mapper that translates database records into objects to provide an object-oriented interface for data persistence. It serves as a document manager and schema validator for MongoDB, mapping classes to documents to enforce data types and validation rules. The project provides a lazy-loaded queryset system for filtering, sorting, and aggregating collections using Pythonic syntax. It manages complex data structures through features such as document inheritance, recursive embedded document handling, and reference-based object linking. The library covers bro
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
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
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
This repository is a collection of technical knowledge and solutions focused on mobile application development, particularly for Android and iOS platforms. It covers a wide range of practical engineering challenges, including hotfix and patching techniques, database management and repair, network communication, logging, and video processing. The content is presented as shared knowledge, documenting real-world problems and their implementations. The project provides detailed guidance on applying hotfixes to running Android applications through multiple methods, such as class replacement, full
Presto is a distributed SQL query engine designed for high-performance analytical processing across heterogeneous data sources. It functions as a data federation platform and massively parallel processing engine, allowing users to execute interactive queries against diverse storage systems without requiring data migration. By mapping remote metadata and structures to a unified relational namespace, it enables seamless cross-platform analysis through a standard SQL interface. The engine distinguishes itself through a pluggable connector architecture and a shared-nothing distributed processing
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
This project is a pure JavaScript database driver for Node.js that implements the native MySQL binary protocol. It serves as a comprehensive connector for managing persistent network links to MySQL servers, enabling applications to execute queries, manage transactions, and handle complex data operations without requiring external middleware. The driver distinguishes itself through its integrated support for connection pooling and distributed database routing. It maintains managed sets of reusable network sockets to optimize resource usage under high request volumes, while simultaneously provi
Open Semantic Search is an open-source enterprise discovery platform designed to index, analyze, and explore large, diverse document collections. It functions as a comprehensive search engine and analytics suite that transforms unstructured data into structured information through automated processing pipelines. The platform distinguishes itself by integrating semantic exploration with traditional retrieval methods. It utilizes knowledge graph entity linking and thesaurus-driven query expansion to connect related concepts, allowing users to navigate datasets beyond simple keyword matching. Th
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
Sequel is a relational database toolkit for Ruby that provides object-relational mapping, a fluent SQL query builder, and schema migration capabilities. It maps database tables to Ruby classes with support for associations, validations, lifecycle hooks, and eager loading, offering a comprehensive ORM layer for building data-centric applications. Sequel distinguishes itself through a plugin-based extension architecture that allows composable customization of models, databases, and datasets without relying on deep inheritance hierarchies. It includes a thread-safe connection pool with support f
FastHTML is a full-stack Python web framework designed for building interactive web applications using pure Python. It functions as an HTMX integration framework and a Python HTML domain-specific language, allowing developers to generate HTML structures using native objects and functions instead of external templating files. The framework is distinguished by its native support for real-time bidirectional communication via WebSockets and Server-Sent Events, enabling server-side updates to be pushed to the browser without full page reloads. It further integrates identity management through OAut
This project is a REST API framework for NestJS designed to automate the creation of boilerplate-free CRUD endpoints and resource management. It functions as an automated CRUD generator that produces controllers and services for standard database operations, accelerating the development of RESTful APIs. The toolkit includes a REST query parser that translates complex URL parameters into structured database filters, pagination, and sorting rules. It also operates as an API response serializer to control the exposure of entity fields and manage nested relations within JSON responses. For extend
Mapper is a MyBatis-specific library that provides annotation-driven object-relational mapping, enabling single-table CRUD operations without writing SQL or XML. It uses Java reflection and field-level annotations to map entity fields to database columns, configure primary key generation strategies, and generate mapper interfaces and model classes from database schemas. The library distinguishes itself through several practical capabilities. It includes a safe operation guard that blocks delete and update calls lacking query conditions, preventing accidental full-table modifications. Its exam
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
The mongo-go-driver is a Go library for building applications that integrate with a MongoDB document store. It enables the storage and retrieval of flexible document data by providing a bridge between Go backends and the database. The driver implements specialized capabilities for semantic vector search, allowing the handling and execution of high-dimensional vector data for similarity-based retrieval. It also supports full-text search via linguistic analysis and programmatic search index management. The project covers a broad range of database operations, including document-based CRUD, bulk
PostgREST is a tool that automatically transforms a PostgreSQL database schema into a production-ready RESTful API. It serves as a database access layer and query engine that maps HTTP requests directly to SQL queries, providing a low-code interface for executing create, read, update, and delete operations without requiring manual boilerplate code. The project distinguishes itself by using schema-driven API generation and metadata-based discovery to expose database tables as navigable resources. It extends standard CRUD capabilities through the execution of custom and templated SQL, a plugin-
Mongoid is an object-document mapper for Ruby that translates Ruby objects into MongoDB documents. It serves as a document database mapper and client library, providing a structured way to manage data persistence and retrieval within a NoSQL environment. The project distinguishes itself by offering advanced data retrieval tools, including vector search for semantic similarity and full-text search for keyword matching. It implements high-security data protection through client-side field-level encryption, encryption key rotation, and TLS connection security to protect sensitive information. B
This project is a reference implementation providing a collection of practical examples for data access patterns and repository abstractions within the Spring Data ecosystem. It serves as a comprehensive showcase for implementing consistent data layers across various relational and non-relational databases. The repository specifically demonstrates multi-store persistence by integrating relational, document, and vector databases within a single application. It includes implementations for vector search to manage high-dimensional embeddings and similarity searches across different database tech
Isar is a type-safe, ACID-compliant local NoSQL document store designed for high-performance data storage and retrieval. It functions as an embedded database engine that persists large datasets on-device while ensuring transactional integrity through automatic rollbacks of failed write operations. The project distinguishes itself by validating database queries at compile time using static typing to prevent runtime errors. It incorporates a full-text search engine with specialized indexing for efficient keyword and phrase matching and utilizes parallel execution across multiple isolates to pre
DjangoBlog is an open-source blog engine built with the Django web framework, designed as a full-featured content management system. It provides Markdown editing for articles and pages, supports social login through OAuth providers including Google, GitHub, Facebook, Weibo, and QQ, and offers full-text search powered by Elasticsearch or Whoosh with keyword highlighting in results. The blog distinguishes itself through several integrated capabilities. It includes a Redis-based page caching system that caches rendered responses and automatically invalidates them on content changes to reduce dat
TagSpaces is an offline-first file tagging and organization platform that lets you manage local files with portable metadata stored directly in filenames or sidecar JSON files, eliminating the need for a central database. It functions as a full-text file search engine, a Kanban board file organizer, a local AI file assistant, an S3-compatible cloud file manager, and a web clipper and bookmark manager, all within a single application. The project distinguishes itself through a local-first architecture where all file operations, indexing, and AI processing run entirely on the device, with cloud
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