Appendix

This appendix contains reference material for Spring Data Meilisearch.

Schema

Spring Data Meilisearch uses www.vanslog.io/spring/data/meilisearch as its XML namespace URI and resolves the schema from the classpath through Spring’s META-INF/spring.schemas mechanism.

<meilisearch:meilisearch-client>

Creates a MeilisearchClient bean.

Attribute Default Description

id

Bean id for the client instance.

host-url

localhost:7700

The Meilisearch server URL.

api-key

The API key used for authentication.

client-agents

Comma-delimited client agent values sent with requests.

request-timeout

How long to wait, in milliseconds, for task-based operations to complete.

request-interval

Polling interval, in milliseconds, used while waiting for task completion.

json-handler-ref

jsonHandler

Reference to a bean implementing com.meilisearch.sdk.json.JsonHandler.

<meilisearch:repositories>

Enables Meilisearch repository scanning. It extends the generic Spring Data repository namespace and therefore also supports the standard repository namespace attributes.

Attribute Default Description

base-package

Package to scan for repository interfaces.

meilisearch-template-ref

meilisearchTemplate

Reference to the MeilisearchOperations bean used to back discovered repositories.

Example

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:meilisearch="http://www.vanslog.io/spring/data/meilisearch"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.vanslog.io/spring/data/meilisearch
       http://www.vanslog.io/spring/data/meilisearch/spring-meilisearch-1.0.xsd">

    <bean id="jsonHandler" class="com.meilisearch.sdk.json.GsonJsonHandler"/>

    <meilisearch:meilisearch-client
            id="meilisearchClient"
            host-url="http://localhost:7700"
            api-key="${MEILISEARCH_API_KEY}"
            json-handler-ref="jsonHandler"/>

    <bean id="meilisearchTemplate"
          class="io.vanslog.spring.data.meilisearch.client.msc.MeilisearchTemplate">
        <constructor-arg name="meilisearchClient" ref="meilisearchClient"/>
        <constructor-arg name="meilisearchConverter" ref="meilisearchConverter"/>
    </bean>

    <meilisearch:repositories
            base-package="com.example.movies"
            meilisearch-template-ref="meilisearchTemplate"/>
</beans>