Spring Boot: работа с NoSQL, Elasticsearch
Elasticsearch - это распределенная поисковая и аналитическая RESTful система с открытым исходным кодом. Spring Boot предлагает базовую авто-конфигурацию для Elasticsearch.
Spring Boot поддерживает несколько клиентов:
- Официальные Java высокоуровневые и низкоуровневые REST клиенты
- ReactiveElasticsearchClient, предоставленный Spring Data Elasticsearch
Транспортный клиент все еще доступен, но его поддержка устарела в Spring Data Elasticsearch и самом Elasticsearch. Он будет удален в будущем релизе. Spring Boot предоставляет специальный стартер, spring-boot-starter-data-elasticsearch.
Клиент Jest также устарел, так как Elasticsearch и Spring Data Elasticsearch предоставляют официальную поддержку клиентам REST.
Подключение к Elasticsearch с использованием REST клиентов
Elasticsearch поставляет два разных REST клиента, которые можно использовать для запроса кластера: низкоуровневый клиент и высокоуровневый клиент.
Если у вас есть зависимость org.elasticsearch.client:elasticsearch-rest-client на пути к классам, Spring Boot автоматически настроит и зарегистрирует bean-компонент RestClient, который по умолчанию нацелен на localhost:9200. Вы можете дополнительно настроить настройку RestClient, как показано в следующем примере:
spring.elasticsearch.rest.uris=https://search.example.com:9200
spring.elasticsearch.rest.read-timeout=10s
spring.elasticsearch.rest.username=user
spring.elasticsearch.rest.password=secret
Вы также можете зарегистрировать произвольное количество bean-компонентов, которые реализуют RestClientBuilderCustomizer для более сложных настроек. Чтобы получить полный контроль над регистрацией, определите bean-компонент RestClient.
Если у вас есть зависимость org.elasticsearch.client:elasticsearch-rest-high-level-client на пути к классам, Spring Boot автоматически настроит RestHighLevelClient, который оборачивает любой существующий компонент RestClient, повторно используя его конфигурацию HTTP.
Читайте также:
- Spring Boot: работа с NoSQL технологиями, Redis
- Spring Boot: работа с NoSQL, MongoDB
- Spring Boot: работа с NoSQL, Neo4j
Комментарии
Отправить комментарий