Java如何使用ElasticSearch

56 阅读1分钟

1、添加依赖:

首先,你需要在你的 Java 项目中添加 ElasticSearch 的客户端依赖。如果你使用 Maven,可以在 pom.xml 文件中添加如下依赖:

<dependencies>
    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>你的ElasticSearch客户端版本号</version>
    </dependency>
    <!-- 如果你还需要其他依赖,比如JSON处理库,可以继续添加 -->
</dependencies>

确保将 你的ElasticSearch客户端版本号 替换为实际使用的 ElasticSearch 客户端版本号。

2、创建连接:

使用 ElasticSearch 的 Java 客户端创建一个连接到 ElasticSearch 集群的实例。这通常涉及指定集群的地址和端口。

RestHighLevelClient client = new RestHighLevelClient(
        RestClient.builder(
                new HttpHost("localhost", 9200, "http")));

在这个例子中,我们假设 ElasticSearch 集群运行在本地主机的默认端口 9200 上。

3、索引文档:

使用客户端实例,你可以将文档索引到 ElasticSearch 中。这通常涉及创建一个索引请求,并指定要索引的文档内容。 I

ndexRequest request = new IndexRequest("your_index_name");
request.id("your_document_id");
String jsonString = "{\"field1\":\"value1\", \"field2\":\"value2\"}";
request.source(jsonString, XContentType.JSON);
IndexResponse response = client.index(request, RequestOptions.DEFAULT);

4、搜索文档:

使用搜索构建器创建搜索请求,并执行搜索以获取结果。

SearchRequest searchRequest = new SearchRequest("your_index_name");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.matchQuery("field1", "value1"));
searchRequest.source(searchSourceBuilder);

SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
SearchHits hits = searchResponse.getHits();
for (SearchHit hit : hits) {
    String sourceAsString = hit.getSourceAsString();
    // 处理搜索结果
}

5、关闭连接:

完成所有操作后,确保关闭客户端连接以释放资源。

client.close();