30 open-source projects similar to elastic/elasticsearch-dsl-py, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Elasticsearch Dsl Py alternative.
The official Go client for Elasticsearch
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
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
FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for multiple relational database providers. It functions as a fluent SQL query builder and database schema synchronizer, allowing developers to align database table and index structures with entity class definitions. The framework is specifically optimized for .NET Native AOT to ensure reduced memory footprints and faster startup times. It includes a database traffic manager to distribute load through read-write splitting, dynamic table sharding, and tenant-based data isolation. Bro
xorm is a relational mapper and object-relational mapping tool for Go. It translates Go structures into SQL queries and maps database rows back into native objects, providing a multi-dialect database driver that supports MySQL, PostgreSQL, SQLite, Oracle, SQL Server, and TiDB. The project features a read-write splitting manager that routes modification requests to a primary database and read requests to replicas. It includes a database schema synchronizer to automatically align table structures and indexes with application data models, as well as a fluent SQL query builder for constructing co
This project is a header-only C++ library that provides an object-relational mapping layer for SQLite databases. It enables developers to map native class structures directly to database tables, facilitating type-safe data persistence and retrieval without the need for raw query strings. The library distinguishes itself through the use of template-based metaprogramming, which allows for compile-time schema mapping and query construction. By utilizing a fluent interface, it translates method calls into optimized database statements, while its support for prepared statement caching minimizes pa
LitePal is an object-relational mapping library and SQLite database wrapper for Android applications. It replaces raw SQL queries with a fluent interface and object mapping to simplify local data persistence and database management. The project provides a specialized system for automatically synchronizing database schemas based on model definitions to handle version updates. It also includes a storage solution for securing sensitive data through configurable field-level encryption. The library covers broad data storage and synchronization capabilities, including atomic transaction support, m
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
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 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 Java-based object-relational mapping framework that utilizes the active record pattern to simplify database interactions. It provides a comprehensive data access layer that binds database tables directly to application objects, enabling developers to perform CRUD operations, manage complex entity relationships, and execute queries through a fluent, type-safe interface. Designed for integration with Spring Boot, the framework abstracts database complexities while maintaining support for native compilation and asynchronous execution. The framework distinguishes itself through
Peewee is a SQL object-relational mapper and query builder that provides an object-oriented interface for mapping application classes to relational database tables. It functions as a relational database toolkit for managing schemas, executing migrations, and handling complex table relationships. The project distinguishes itself by providing an asyncio database driver for non-blocking database operations, ensuring event loop responsiveness. It also supports semi-structured data storage, allowing the storage and querying of flexible JSON documents within traditional relational database systems.
SQLAlchemy is a comprehensive Python SQL toolkit and object-relational mapper that provides a full suite of tools for interacting with relational databases. It serves as a foundational layer for database connectivity, offering both a high-level object-oriented interface for data persistence and a programmatic SQL expression language for constructing complex, dialect-agnostic queries. The project distinguishes itself through its sophisticated unit of work persistence, which coordinates atomic transactions and tracks object state changes to minimize redundant database operations. It provides a
SQLModel is a type-safe object-relational mapping library for Python that integrates database schema definitions with data validation logic. By combining these two roles into a single class, it allows developers to manage relational data structures and enforce data integrity for web APIs simultaneously. The framework is built to support asynchronous database operations, enabling high-performance applications to execute queries and transactions without blocking the main execution thread. The library distinguishes itself by leveraging Python type hints to provide IDE autocompletion and compile-
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
Lnx is a high-performance search engine and indexing database designed for managing large datasets. It provides a scalable infrastructure for full-text retrieval, allowing applications to process and query structured data with consistent responsiveness. The platform distinguishes itself through a schema-driven approach to data ingestion, which enforces structured field definitions to optimize storage and query precision. It incorporates advanced search capabilities, including fuzzy matching, spell correction, and similarity-based content recommendations, to ensure accurate results even with i
Pony is a Python object-relational mapper that maps classes to relational database tables using an object-oriented interface. It serves as a relational database toolkit providing the means to manage database transactions, identity mapping, and the lazy loading of related records. The project is distinguished by a SQL query translator that converts Python generator expressions into optimized SQL queries by analyzing the abstract syntax tree. It also includes a visual database schema designer for creating entity-relationship diagrams to automatically generate and synchronize relational database
This project is a comprehensive reference collection of practical implementation examples and patterns for building applications with Spring Boot. It serves as a Java web application template and a showcase for developing functional web services featuring REST endpoints, template engines, and global exception handling. The repository distinguishes itself by providing detailed demonstrations of enterprise-grade features, including distributed locking, task scheduling, and asynchronous message exchange using brokers like RabbitMQ. It also includes reference implementations for automated API doc
redis-py is a Python client library for interacting with Redis databases to execute commands and manage key-value data. It serves as a driver for programmatic data manipulation, providing interfaces for Redis command execution and key-value storage. The project includes a dedicated cluster client that handles topology discovery, slot mapping, and request routing across distributed nodes. It further supports high availability through active-active deployment coordination, utilizing health checks and failure detection to trigger automatic failover between instances. The library incorporates ne
ObjectBox Java is an embedded NoSQL object database for Java and Android that stores data objects directly without relational mapping. It functions as a native-process storage engine, allowing applications to persist plain Java or Kotlin classes as entities. The project distinguishes itself with an on-device vector database capability, utilizing HNSW indexes to perform approximate nearest neighbor searches and semantic similarity queries. It also includes a locally hosted web-based browser for visualizing data objects, schemas, and dependency diagrams. The database covers a broad range of da
Dejavu is a containerized administration panel and web interface for managing data within Elasticsearch and OpenSearch clusters. It serves as a search index management tool for browsing, editing, and deleting records through a visual explorer rather than raw API queries. The project distinguishes itself by providing a search interface prototyping tool. This allows users to visually design search screens to test result relevancy and export the final layout configuration as usable code. The tool covers broad data management capabilities, including structured data import from CSV or JSON files
This project is a MongoDB database driver and object-relational mapper that brings MongoDB support to the Laravel Eloquent model and query builder. It provides a NoSQL model mapper that allows MongoDB collections to be mapped to object-oriented models using the Active Record pattern. The integration enables the use of a fluent query builder for constructing queries and aggregation pipelines without writing raw database syntax. It supports schema-less model integration, allowing applications to manage unstructured data while maintaining compatibility with standard object-oriented patterns. Th
MyBatis is a Java persistence framework that functions as a database query mapper and object-relational mapping tool. It decouples SQL statements from application code, allowing developers to manage database interactions by mapping Java objects to relational database records. The framework provides a centralized approach to SQL query management, enabling the use of either XML configuration files or annotations to define persistence logic. It automates the transformation of database result sets into structured objects, which eliminates the need for manual data conversion and reduces repetitive
ActiveAndroid is an object-relational mapper and data persistence library for Android. It serves as a high-level wrapper for SQLite databases, translating database records into class instances to facilitate data manipulation. The library enables data persistence without the need to write manual SQL queries. It maps database rows to Java objects, allowing records to be saved, retrieved, and deleted using object-oriented methods. The toolkit covers local mobile data storage and database management, providing a layer that links database table structures to specific object properties.
Flask-SQLAlchemy is a relational database toolkit that integrates the SQLAlchemy object-relational mapper into web applications. It serves as a database session manager and schema toolkit, providing the necessary infrastructure to define data models and execute queries within a request lifecycle. The project is distinguished by its multi-database routing engine, which uses bind-keys to map different models to multiple distinct database engines. It also includes a SQL query auditing tool that captures and logs executed statements and timing data for a single request to identify performance bot
Searchkit is a search UI framework designed for building search interfaces with React and Vue that connect to Elasticsearch and OpenSearch backends. It provides a search query translation layer to convert frontend search states into engine-specific query languages and a result rendering engine to display hits, facet menus, and pagination. The framework includes a semantic search interface that enables vector-based nearest neighbor searches and natural language processing. It differentiates itself through an adapter-based translation system and a component-based UI mapping that connects search
Hibernate ORM is a Java object-relational mapper and a full implementation of the Jakarta Persistence API. It serves as a SQL database abstraction layer that translates Java object models into relational database schemas to manage data persistence and lifecycles. The framework distinguishes itself with a multi-tenant data isolation framework for separating customer data within a single database instance. It also features a database schema generator that automatically produces and updates relational structures based on entity mappings. The system covers broad capability areas including transa
DoctrineBundle is a Symfony integration that configures and manages the Doctrine Object Relational Mapper and Database Abstraction Layer. It provides the fundamental tools required to map application objects to relational database tables and execute raw queries through a consistent programmatic interface. The project includes a database schema manager with command-line tools for synchronizing database structures with entity mappings and executing migrations. It also provides a database query debugger and activity debugging tools to track performance and execution details via a web-based inter
Knex is a multi-dialect database client that provides a programmatic SQL query builder, a connection pool manager, and a versioned schema migration tool. It enables programmatic database interaction across multiple SQL engines, including PostgreSQL, MySQL, SQLite3, SQL Server, CockroachDB, and Oracle. The project distinguishes itself through a fluent interface for constructing complex SQL statements and a dedicated framework for database seeding. It utilizes specialized dialects to translate generic query representations into database-specific syntax while maintaining a consistent API across