Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/junghoon-vans/spring-data-meilisearch

Provide support to increase developer productivity in Java when using Meilisearch. Uses familiar Spring concepts such as a template classes for core API usage and lightweight repository style data access.
https://github.com/junghoon-vans/spring-data-meilisearch

ddd framework java meilisearch spring spring-data

Last synced: 3 months ago
JSON representation

Provide support to increase developer productivity in Java when using Meilisearch. Uses familiar Spring concepts such as a template classes for core API usage and lightweight repository style data access.

Awesome Lists containing this project

README

        

= Spring Data for Meilisearch

image:https://img.shields.io/maven-central/v/io.vanslog/spring-data-meilisearch.svg?label=Maven%20Central[Maven Central,link=https://central.sonatype.com/artifact/io.vanslog/spring-data-meilisearch/]
image:https://sonarcloud.io/api/project_badges/measure?project=spring-data-meilisearch&metric=sqale_rating[Maintainability Rating,link=https://sonarcloud.io/summary/new_code?id=spring-data-meilisearch]
image:https://sonarcloud.io/api/project_badges/measure?project=spring-data-meilisearch&metric=coverage[Coverage,link=https://sonarcloud.io/summary/new_code?id=spring-data-meilisearch]
image:https://img.shields.io/github/license/junghoon-vans/spring-data-meilisearch?label=License[License,link=LICENSE]

The Spring Data Meilisearch project provides integration with the Meilisearch search engine.

== Features

* Spring Configuration support using Java based `@Configuration` classes or an XML namespace for the Meilisearch client.
* Implementation of CRUD methods for Meilisearch Documents.

== Getting Started

Here is a quick teaser of an application using Spring Data Repositories in Java:

[source,java]
----
public interface MovieRepository extends CrudRepository { }

@Service
public class MyService {

@Autowired private MovieRepository repository;

public void doWork(Movie movie) {
repository.save(movie);
}
}

@Configuration
@EnableMeilisearchRepositories
public class Config extends MeilisearchConfiguration {

@Override
public ClientConfiguration clientConfiguration() {
return ClientConfiguration.builder()
.connectedToLocalhost()
.withApiKey("masterKey")
.build();
}
}
----

=== Maven configuration

Add the Maven dependency:

[source,xml]
----

io.vanslog
spring-data-meilisearch
${version}

----

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]
----

io.vanslog
spring-data-meilisearch
${version}-SNAPSHOT

sonatype-snapshots
Sonatype Snapshot Repository
https://s01.oss.sonatype.org/content/repositories/snapshots/

----

== Guide

* Check the link:https://junghoon-vans.github.io/spring-data-meilisearch/[reference documentation], and link:https://javadoc.io/doc/io.vanslog/spring-data-meilisearch/latest/index.html[Javadoc].

== 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/junghoon-vans/spring-data-meilisearch/issues[issue tracker] to see if someone has already reported the problem.
* If the issue doesn’t already exist, https://github.com/junghoon-vans/spring-data-meilisearch/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 Meilisearch that you are using and JVM version.
* If you need to paste code, or include a stack trace format it as code using triple backtick.
* 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

Spring Data can be easily built with the https://github.com/takari/maven-wrapper[maven wrapper].
You also need JDK 17 or above.

[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._

=== Building reference documentation

Building the documentation builds also the project without running tests.

[source,bash]
----
$ ./mvnw clean install -Pdistribute
----

The generated documentation is available from `target/site/reference/html/index.html`.

== License

Spring Data Meilisearch is Open Source software released under the https://www.apache.org/licenses/LICENSE-2.0.html[Apache 2.0 license].