Java项目中连接es,只创建一个索引,通过接口调用传入参数创建文档到已有索引下的代码怎么写
时间: 2024-02-24 20:53:34 浏览: 179
可以使用Java High Level REST Client来连接Elasticsearch并创建文档。以下是一个简单的示例代码:
```java
// 1. 创建连接对象
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("localhost", 9200, "http")));
// 2. 准备文档数据
Map<String, Object> docMap = new HashMap<>();
docMap.put("id", "1");
docMap.put("title", "Java连接ES示例");
docMap.put("content", "这是一个Java连接Elasticsearch的示例");
// 3. 创建IndexRequest对象
IndexRequest indexRequest = new IndexRequest("索引名");
indexRequest.id("文档id"); // 可选,如果不设置则由Elasticsearch自动生成
indexRequest.source(docMap, XContentType.JSON);
// 4. 调用Index API创建文档
IndexResponse indexResponse = client.index(indexRequest, RequestOptions.DEFAULT);
// 5. 处理返回结果
if (indexResponse.getResult() == DocWriteResponse.Result.CREATED) {
System.out.println("文档创建成功");
} else if (indexResponse.getResult() == DocWriteResponse.Result.UPDATED) {
System.out.println("文档更新成功");
}
// 6. 关闭连接
client.close();
```
其中,`RestHighLevelClient`类是连接Elasticsearch的高级客户端,通过`RestClient.builder`方法创建。`IndexRequest`是创建文档的请求对象,需要指定索引名和文档数据。`IndexResponse`是创建文档的响应对象,可以通过`getResult()`方法获取操作结果。最后,通过`close()`方法关闭连接。
阅读全文