首先,使用 Elasticsearch 搜索引擎需要安装 Elasticsearch 并在 Java 项目中添加 Elasticsearch 客户端库,通常是 Elasticsearch 的 Java API 客户端:elasticsearch-rest-client。
使用 Elasticsearch 的 Java API 客户端需要建立 Client 实例,并使用它发送 REST 请求。下面是建立 Client 实例的示例代码:
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(
new HttpHost("localhost", 9200, "http"),
new HttpHost("localhost", 9201, "http")));
上面代码中创建了一个使用 localhost 和端口号为 9200 和 9201 的 Elasticsearch 节点的客户端实例。
接下来需要创建索引并添加数据。索引相当于数据库的概念。首先需要定义索引的映射,它声明了类似于表的结构,即索引的字段、类型和属性等。以下是一个映射示例:
PUT /my_index
{
"mappings": {
"properties": {
"name": { "type": "text" },
"age": { "type": "integer" },
"gender": { "type": "keyword" }
}
}
}
上面代码创建了一个名为 my_index 的索引,其中包含 name、age 和 gender 字段。name 字段是文本类型,age 字段是整数类型,gender 字段是关键字类型。
然后需要将数据添加到索引中,以下是一个示例代码:
IndexRequest request = new IndexRequest("my_index")
.id("1")
.source(Map.of("name", "John Doe", "age", 30, "gender", "male"));
IndexResponse response = client.index(request, RequestOptions.DEFAULT);
上面代码将一个 id 为 1 的文档添加到 my_index 索引中。
接下来就可以在 Elasticsearch 中搜索数据了。以下是一个示例代码:
SearchRequest searchRequest = new SearchRequest("my_index");
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.query(QueryBuilders.matchQuery("name", "john"));
searchRequest.source(sourceBuilder);
SearchResponse response = client.search(searchRequest, RequestOptions.DEFAULT);
上面代码搜索名字中包含 john 的文档,并返回结果。
以上就是使用 Elasticsearch 的 Java API 客户端的基本攻略和示例代码。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java使用强大的Elastisearch搜索引擎实例代码 - Python技术站