elasticsearch-rest-high-level-client7.0之后还用吗
时间: 2023-08-04 15:05:00 浏览: 102
是的,`elasticsearch-rest-high-level-client`在7.0版本之后仍然被使用。它是Elasticsearch官方提供的Java REST客户端,用于与Elasticsearch集群进行交互。这个客户端是基于低级别REST客户端构建的,它提供了更简单和更人性化的API,并且支持异步执行请求。
在Elasticsearch 7.x版本中,`elasticsearch-rest-high-level-client`的版本已经更新到了7.x,可以通过以下方式来添加依赖:
```xml
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.14.1</version>
</dependency>
```
使用`elasticsearch-rest-high-level-client`可以更方便地与Elasticsearch集群进行交互,比如创建索引、查询文档等操作。同时,它也提供了更多的功能和选项,可以更灵活地满足不同的业务需求。因此,它仍然被广泛地使用。
相关问题
spring boot 集成es 7.0
要在 Spring Boot 中集成 Elasticsearch 7.0,可以按照以下步骤操作:
1. 在 pom.xml 文件中添加 Elasticsearch 相关依赖:
```xml
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.0.0</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.0.0</version>
</dependency>
```
2. 创建 Elasticsearch 配置类 ElasticsearchConfig.java,用于配置 Elasticsearch 连接参数,例如:
```java
@Configuration
public class ElasticsearchConfig {
private static final String HOST = "localhost";
private static final int PORT = 9200;
private static final String SCHEME = "http";
@Bean
public RestHighLevelClient restHighLevelClient() {
RestClientBuilder builder = RestClient.builder(
new HttpHost(HOST, PORT, SCHEME));
return new RestHighLevelClient(builder);
}
}
```
3. 在需要使用 Elasticsearch 的 Service 类中注入 RestHighLevelClient:
```java
@Service
public class MyService {
@Autowired
private RestHighLevelClient restHighLevelClient;
// ...
}
```
4. 在 Service 类中使用 RestHighLevelClient 调用 Elasticsearch API,例如:
```java
public void search() throws IOException {
SearchRequest searchRequest = new SearchRequest("my-index");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.matchQuery("title", "java"));
searchRequest.source(searchSourceBuilder);
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
SearchHits hits = searchResponse.getHits();
// ...
}
```
以上就是在 Spring Boot 中集成 Elasticsearch 7.0 的基本步骤,具体使用可以根据自己的需求进行调整。
skywalking9.3.0源码中涉及到数据持久化到es7数据库的方法有哪些 具体流程是怎样的 es的文档写入api的具体位置和方法名都是什么
在SkyWalking 9.3.0中,涉及到数据持久化到ES7数据库的方法有:
1. Trace数据的写入:在org.apache.skywalking.oap.server.storage.plugin.elasticsearch7.dao.TraceEs7DAO类中,通过Elasticsearch High Level REST Client使用Index API将Trace数据写入到ES7中。
2. Metric数据的写入:在org.apache.skywalking.oap.server.storage.plugin.elasticsearch7.dao.MetricEs7DAO类中,通过Elasticsearch High Level REST Client使用Bulk API将Metric数据批量写入到ES7中。
具体流程如下:
1. 当SkyWalking收集到Trace或Metric数据时,会将数据传递给对应的DAO类。
2. DAO类通过Elasticsearch High Level REST Client连接到ES7,构建对应的IndexRequest或BulkRequest对象。
3. 将数据写入ES7。
4. 如果写入失败,则会进行重试。
ES的文档写入API的具体位置是https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.0/java-rest-high-document-index.html,方法名是index。
阅读全文