Spring Boot: работа с NoSQL, Spring Data Elasticsearch
Подключение к Elasticsearch с помощью Spring Data
Для подключения к Elasticsearch должен быть определен bean-компонент RestHighLevelClient, автоматически настроенный Spring Boot или предоставленный приложением вручную. С этой конфигурацией ElasticsearchRestTemplate может быть внедрен как любой другой Spring bean-компонент, как показано в следующем примере:
@Component
public class MyBean {
private final ElasticsearchRestTemplate template;
public MyBean(ElasticsearchRestTemplate template) {
this.template = template;
}
// ...
}
При наличии spring-data-elasticsearch и необходимых зависимостей для использования WebClient (обычно spring-boot-starter-webflux) Spring Boot также может автоматически настраивать ReactiveElasticsearchClient и ReactiveElasticsearchTemplate в качестве bean-компонентов. Они являются реактивным эквивалентом других клиентов REST.
Spring Data Elasticsearch репозитории
Spring Data включает поддержку репозиториев для Elasticsearch. Как и в случае с репозиториями JPA, основной принцип заключается в том, что запросы создаются для вас автоматически на основе имен методов.
Фактически и Spring Data JPA, и Spring Data Elasticsearch совместно используют одну общую инфраструктуру. Вы можете взять пример JPA и, предполагая, что City теперь является классом Elasticsearch @Document, а не JPA @Entity, он работает аналогичным образом.
Spring Boot поддерживает как классические, так и реактивные репозитории Elasticsearch, используя beans ElasticsearchRestTemplate или ReactiveElasticsearchTemplate. Скорее всего, эти компоненты автоматически конфигурируются Spring Boot, если присутствуют необходимые зависимости.
Если вы хотите использовать свой собственный шаблон для поддержки репозиториев Elasticsearch, вы можете добавить свой собственный ElasticsearchRestTemplate или ElasticsearchOperations @Bean, если он называется "elasticsearchTemplate". То же самое относится и к операциям ReactiveElasticsearchTemplate и ReactiveElasticsearchOperations с именем bean-компонента "reactiveElasticsearchTemplate".
Вы можете отключить поддержку репозиториев с помощью следующего свойства:
spring.data.elasticsearch.repositories.enabled=false
Читайте также:
- Spring Boot: работа с NoSQL, Elasticsearch
- Spring Boot: работа с NoSQL, подключение к Elasticsearch
- Spring Boot: работа с NoSQL, Neo4j
Комментарии
Отправить комментарий