连接ES的Java工具类
在现代的大数据应用中,Elasticsearch(简称ES)作为一个分布式搜索引擎,被广泛应用于日志分析、全文搜索等场景。为了方便Java开发者操作ES,我们可以使用连接ES的Java工具类。
ES Java工具类示例
下面是一个简单的ES Java工具类示例,用于连接ES服务器、创建索引和插入文档:
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestClientBuilder.HttpClientConfigCallback;
import org.apache.http.HttpHost;
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
public class ESClientUtil {
private static RestHighLevelClient restHighLevelClient;
public static RestHighLevelClient getClient(String host, int port) {
RestClientBuilder builder = RestClient.builder(new HttpHost(host, port, "http"))
.setHttpClientConfigCallback(new HttpClientConfigCallback() {
@Override
public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
return httpClientBuilder;
}
});
restHighLevelClient = new RestHighLevelClient(builder);
return restHighLevelClient;
}
public static void closeClient() {
try {
if (restHighLevelClient != null) {
restHighLevelClient.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用ES Java工具类
使用上述工具类连接ES服务器并插入文档的示例代码如下:
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
String host = "localhost";
int port = 9200;
// 连接ES服务器
RestHighLevelClient client = ESClientUtil.getClient(host, port);
// 创建索引并插入文档
IndexRequest request = new IndexRequest("index_name");
request.id("1");
request.source("field", "value");
try {
IndexResponse response = client.index(request, RequestOptions.DEFAULT);
} catch (IOException e) {
e.printStackTrace();
} finally {
ESClientUtil.closeClient();
}
}
}
ES连接Java工具类甘特图示例
gantt
title ES连接Java工具类甘特图
dateFormat YYYY-MM-DD
section 连接ES服务器
连接ES服务器: 2022-07-01, 1d
section 创建索引并插入文档
创建索引并插入文档: 2022-07-02, 1d
总结
通过上述示例,我们可以看到使用ES Java工具类可以方便地连接ES服务器、创建索引和插入文档。这样的工具类可以大大简化Java开发者对ES的操作,提高开发效率。希望本文对你了解ES连接Java工具类有所帮助。