awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
spring-projects avatar

spring-projects/spring-data-elasticsearch

0
View on GitHub↗
2,959 stars·1,338 forks·Java·apache-2.0·21 viewsspring.io/projects/spring-data-elasticsearch↗

Spring Data 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 similarity search, point-in-time searching, and search result highlighting.

The framework covers a broad range of capabilities including index lifecycle management, geospatial data handling, and the translation of provider-specific errors into a consistent exception hierarchy. It also supports document routing, automatic index creation via annotations, and the execution of server-side search templates.

Features

  • Automated Data Repositories - Generates repository implementations from interface definitions to automate common data access operations.
  • Enterprise Search - Decouples business logic from search infrastructure by using repository interfaces to manage documents.
  • Elasticsearch Integrations - Maps application objects to Elasticsearch indices for CRUD operations and search queries.
  • Class-Based Schema Mappings - Maps Java domain objects to Elasticsearch index schemas using class-level and field-level annotations.
  • Cluster Connectivity - Establishes network connections to search clusters with support for SSL, timeouts, and authentication.
  • CRUD Operations - Implements standard identifier-based CRUD operations for persisting and retrieving domain entities.
  • Elasticsearch Connectors - Provides a comprehensive library for mapping Java objects to Elasticsearch and performing data operations.
  • Elasticsearch Client Integrations - Provides a non-blocking, reactive client interface for asynchronous search and persistence operations.
  • Full Text Search - Implements complex search functionality including highlighting, geospatial queries, and vector similarity.
  • Document Retrieval Methods - Retrieves documents using dynamic finder methods and criteria with built-in support for sorting and pagination.
  • Object-Document Mappers - Translates documents between JSON representations in Elasticsearch and plain Java objects using annotations.
  • Custom Query Definitions - Allows overriding automatic query generation with custom declared queries to fine-tune search logic.
  • Query Sorting - Applies dynamic pagination and sorting to search queries using pageable and sort parameters.
  • Reactive Data Streams - Executes non-blocking data operations and streams search results as asynchronous sequences.
  • Query Domain Specific Languages - Provides a domain-specific language for building complex search queries and aggregations without using raw JSON.
  • Search Query Construction - Constructs complex search queries and update operations using a domain-specific language.
  • Object Mappings - Maps Java objects to search index schemas using annotations or external configuration files.
  • Query Method Derivation - Automatically generates retrieval logic based on method naming conventions to fetch specific documents.
  • Object-to-Data Mapping Frameworks - Translates JSON documents stored in search indices into typed Java objects using annotation-based metadata.
  • Query Derivation Frameworks - Generates search queries automatically by parsing keywords and property names from repository interface method signatures.
  • Repository Proxy Implementations - Creates runtime implementations of data access interfaces using dynamic proxies to handle boilerplate database logic.
  • Asynchronous Data Fetching - Returns search results as asynchronous streams or publishers to enable non-blocking application workflows.
  • Bulk Document Retrievals - Fetches multiple documents by identifier and provides status for each individual request.
  • Document CRUD Operations - Provides asynchronous create, read, update, and delete operations for documents mapped to search indices.
  • Document Deletion Operations - Removes records matching a specific search query and returns metadata about the deletion process.
  • Geospatial Data Types - Maps location-based types and geometries to Elasticsearch representations using standard geospatial specifications.
  • Data Type Mappings - Registers rules to translate between Java domain types and Elasticsearch-specific data formats.
  • JSON Query Executions - Enables the execution of specific JSON queries using positional placeholders or expressions for dynamic parameterization.
  • Result Streaming - Processes large search datasets incrementally via data streams to minimize memory consumption.
  • Result Set Scrolling - Iterates through chunks of a large dataset to avoid loading all data into memory.
  • Search Index Management - Automates the creation and configuration of Elasticsearch indices and mappings via annotations.
  • Automatic Index Generation - Automatically creates missing search indices at startup based on metadata derived from entity annotations.
  • Point-in-Time Search - Creates consistent views of an index at a specific moment to ensure stable search results across requests.
  • Index Lifecycle Management - Automates the lifecycle of search indices, including creation, deletion, and the management of mappings and aliases.
  • Complex Search Querying - Implements complex search queries and aggregations by leveraging the full capabilities of the native Elasticsearch client.
  • Search Templates - Runs pre-defined scripts stored on the Elasticsearch server to perform complex parameterized searches.
  • Search Result Sorting - Orders search results using standard sorting, geographical distance, or custom rules for nested objects.
  • Search Template Executions - Executes predefined search templates stored in the cluster by mapping method arguments to required parameters.
  • Repository Fragment Composition - Adds custom logic to repositories by composing fragment interfaces with dedicated implementations.
  • Vector Similarity Search - Implements k-nearest neighbor searches to find documents based on vector similarity.
  • Search Result Highlighters - Marks specific fields in returned documents to highlight where the search terms were matched.
  • Asynchronous Query Execution - Executes database queries in background tasks to ensure the main execution thread remains non-blocking.
  • Exception Hierarchies - Maps provider-specific search engine error codes to a consistent hierarchy of generic exceptions.
  • Repository Injection - Supports injecting data access components into application contexts using dependency injection to manage component lifecycles.
  • Reactive Data Streams - Integrates non-blocking clients to return search results as asynchronous publishers for event-driven workflows.
  • Result Type Mapping - Maps search results to primitives, collections, or custom wrappers to align with the application data model.

Star history

Star history chart for spring-projects/spring-data-elasticsearchStar history chart for spring-projects/spring-data-elasticsearch

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Spring Data Elasticsearch

These projects share indexed features with Spring Data Elasticsearch. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • olivere/elasticolivere avatar

    olivere/elastic

    7,450View on GitHub↗

    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

    Go
    View on GitHub↗7,450
  • elastic/elasticsearch-netelastic avatar

    elastic/elasticsearch-net

    3,656View on GitHub↗

    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

    C#c-sharpclientdot-net
    View on GitHub↗3,656
  • zombodb/zombodbzombodb avatar

    zombodb/zombodb

    4,730View on GitHub↗

    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

    PLpgSQL
    View on GitHub↗4,730
  • elastic/elasticsearch-pyelastic avatar

    elastic/elasticsearch-py

    4,376View on GitHub↗

    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

    Pythonclientelasticsearchpython
    View on GitHub↗4,376
Compare all 30 related projects→

Frequently asked questions

What does spring-projects/spring-data-elasticsearch do?

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.

What are the main features of spring-projects/spring-data-elasticsearch?

The main features of spring-projects/spring-data-elasticsearch are: Automated Data Repositories, Enterprise Search, Elasticsearch Integrations, Class-Based Schema Mappings, Cluster Connectivity, CRUD Operations, Elasticsearch Connectors, Elasticsearch Client Integrations.

Which projects share features with spring-projects/spring-data-elasticsearch?

Projects with overlapping indexed features include: olivere/elastic — This project is a Go client library and API wrapper for interacting with Elasticsearch clusters. It serves as a… elastic/elasticsearch-net — This project is a programmatic client for managing the lifecycle of documents within a distributed JSON search engine.… zombodb/zombodb — Zombodb is a database extension and relational data indexer that integrates PostgreSQL with Elasticsearch. It provides… elastic/elasticsearch-py — elasticsearch-py is a distributed search API wrapper and cluster administrator. It serves as a secure connector for… elastic/go-elasticsearch — The official Go client for Elasticsearch. datlechin/tablepro — TablePro is a cross-platform database management client designed for browsing, querying, and administering both SQL…