An open-source entry in TopGit's GitHub warehouse: spring-projects/spring-data-elasticsearch, 3.0k stars, Java. Provide support to increase developer productivity in Java when using Elasticsearch. Uses familiar Spring concepts such as a template classes for core API usage and lightweight repository style data access.
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
= Spring Data for Elasticsearch image:https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle&labelColor=02303A["Revved up by Develocity", link="https://ge.spring.io/scans?search.rootProjectNames=Spring Data Elasticsearch"]
The primary goal of the https://projects.spring.io/spring-data[Spring Data] project is to make it easier to build Spring-powered applications that use new data access technologies such as non-relational databases, map-reduce frameworks, and cloud based data services.
The Spring Data Elasticsearch project provides integration with the https://www.elastic.co/[Elasticsearch] search engine.
Key functional areas of Spring Data Elasticsearch are a POJO centric model for interacting with Elasticsearch Documents and easily writing a Repository style data access layer.
This project is lead and maintained by the community.
== Features
Spring configuration support using Java based @Configuration classes or an XML namespace for an ES client instances.
ElasticsearchOperations class and implementations that increases productivity performing common ES operations.
Includes integrated object mapping between documents and POJOs.
Feature Rich Object Mapping integrated with Spring’s Conversion Service
Annotation based mapping metadata
Automatic implementation of Repository interfaces including support for custom search methods.
CDI support for repositories
== Code of Conduct
This project is governed by the https://github.com/spring-projects/.github/blob/e3cc2ff230d8f1dca06535aa6b5a4a23815861d4/CODE_OF_CONDUCT.md[Spring Code of Conduct].
By participating, you are expected to uphold this code of conduct.
Please report unacceptable behavior to [email protected].
== Getting Started
Here is a quick teaser of an application using Spring Data Repositories in Java:
[source,java]
public interface PersonRepository extends CrudRepository<Person, Long> {
List findByLastname(String lastname);
List findByFirstnameLike(String firstname);
}
@Service
public class MyService {
private final PersonRepository repository;
public MyService(PersonRepository repository) {
this.repository = repository;
}
public void doWork() {
repository.deleteAll();
Person person = new Person();
person.setFirstname("Oliver");
person.setLastname("Gierke");
repository.save(person);
List<Person> lastNameResults = repository.findByLastname("Gierke");
List<Person> firstNameResults = repository.findByFirstnameLike("Oli");
}
}
=== Using the RestClient
Please check the https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#elasticsearch.clients.configuration[official documentation].
The compatibility between Spring Data Elasticsearch, Elasticsearch client drivers and Spring Boot versions can be found in the https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#preface.versions[reference documentation].
To use the Release candidate versions of the upcoming major version, use our Maven milestone repository and declare the appropriate dependency version:
[source,xml]
org.springframework.data
spring-data-elasticsearch
${version}.RCx
spring-snapshot
Spring Snapshot Repository
https://repo.spring.io/milestone
----
If you'd rather like the latest snapshots of the upcoming major version, use our Maven snapshot repository and declare the appropriate dependency version:
[source,xml]
org.springframework.data
spring-data-elasticsearch
${version}-SNAPSHOT
spring-snapshot
Spring Snapshot Repository
https://repo.spring.io/snapshot
----
== Getting Help
Having trouble with Spring Data?
We’d love to help!
Check the
https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/[reference documentation], and https://docs.spring.io/spring-data/elasticsearch/docs/current/api/[Javadocs].
Learn the Spring basics – Spring Data builds on Spring Framework, check the https://spring.io[spring.io] web-site for a wealth of reference documentation.
If you are just starting out with Spring, try one of the https://spring.io/guides[guides].
Ask a question or chat with the community on https://app.gitter.im/#/room/#spring-projects_spring-data:gitter.im[Gitter].
Report bugs with Spring Data for Elasticsearch at https://github.com/spring-projects/spring-data-elasticsearch/issues[https://github.com/spring-projects/spring-data-elasticsearch/issues].
== Reporting Issues
Spring Data uses GitHub as issue tracking system to record bugs and feature requests.
If you want to raise an issue, please follow the recommendations below:
Before you log a bug, please search the
https://github.com/spring-projects/spring-data-elasticsearch/issues[issue tracker] to see if someone has already reported the problem.
If the issue doesn't already exist, https://github.com/spring-projects/spring-data-elasticsearch/issues/new[create a new issue].
Please provide as much information as possible with the issue report, we like to know the version of Spring Data Elasticsearch that you are using and JVM version.
If you need to paste code, or include a stack trace use Markdown +++```+++ escapes before and after your text.
If possible try to create a test-case or project that replicates the issue.
Attach a link to your code or a compressed file containing your code.
== Building from Source
You don’t need to build from source to use Spring Data (binaries in https://repo.spring.io[repo.spring.io]), but if you want to try out the latest and greatest, Spring Data can be easily built with the https://github.com/takari/maven-wrapper[maven wrapper].
You need JDK 17 or above to build the main branch.
For the branches up to and including release 4.4, JDK 8 is required.
[source,bash]
$ ./mvnw clean install
If you want to build with the regular mvn command, you will need https://maven.apache.org/run-maven/index.html[Maven v3.5.0 or above].
Also see link:CONTRIBUTING.adoc[CONTRIBUTING.adoc] if you wish to submit pull requests, and in particular please sign the https://cla.pivotal.io/sign/spring[Contributor’s Agreement] before submitting your first pull request.
IMPORTANT: When contributing, please make sure an issue exists in https://github.com/spring-projects/spring-data-elasticsearch/issues[issue tracker] and comment on this issue with how you want to address it.
By this we not only know that someone is working on an issue, we can also align architectural questions and possible solutions before work is invested . We so can prevent that much work is put into Pull Requests that have little or no chances of being merged.
=== Building reference documentation
Building the documentation builds also the project without running tests.
[source,bash]
$ ./mvnw clean install -Pantora
The generated documentation is available from target/site/index.html.
== Examples
For examples on using the Spring Data for Elasticsearch, see the https://github.com/spring-projects/spring-data-examples/tree/main/elasticsearch/example[spring-data-examples] project.
== License
Spring Data for Elasticsearch Open Source software released under the https://www.apache.org/licenses/LICENSE-2.0.html[Apache 2.0 license].
How active is development on spring-projects/spring-data-elasticsearch?
The most recent commit recorded on spring-projects/spring-data-elasticsearch was 11 days ago, based on the GitHub push timestamp. The repository has 1.3k forks — one of the better signals of community interest.
How many stars does spring-projects/spring-data-elasticsearch have?
spring-projects/spring-data-elasticsearch has 3.0k GitHub stars — refresh the page for the live number, or check github.com/spring-projects/spring-data-elasticsearch. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is spring-projects/spring-data-elasticsearch open source?
Yes — spring-projects/spring-data-elasticsearch ships under the Apache-2.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/spring-projects/spring-data-elasticsearch.
What is spring-projects/spring-data-elasticsearch?
spring-projects/spring-data-elasticsearch (spring-projects/spring-data-elasticsearch) is a Java project on GitHub. From the project's own README: Provide support to increase developer productivity in Java when using Elasticsearch. Uses familiar Spring concepts such as a template classes for core API usage and lightweight repository style data access.
What language is spring-projects/spring-data-elasticsearch written in?
spring-projects/spring-data-elasticsearch is written primarily in Java. GitHub's language field is based on the largest share of bytes in the default branch.
What license does spring-projects/spring-data-elasticsearch use?
spring-projects/spring-data-elasticsearch is released under the Apache-2.0 license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where do I read more about spring-projects/spring-data-elasticsearch?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/spring-projects/spring-data-elasticsearch is the definitive source.
Read full README in the tab above.
Is spring-data-elasticsearch worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of spring-data-elasticsearch.