往es中插入数据,java代码
时间: 2023-06-24 20:04:15 浏览: 160
以下是往 Elasticsearch 中插入数据的 Java 代码示例:
```java
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.common.xcontent.XContentType;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class ElasticsearchInsertDataExample {
public static void main(String[] args) throws IOException {
// 创建 Elasticsearch 客户端
RestHighLevelClient client = createClient();
// 创建数据 Map
Map<String, Object> dataMap = new HashMap<>();
dataMap.put("name", "John Doe");
dataMap.put("age", 30);
dataMap.put("email", "johndoe@example.com");
// 创建 IndexRequest
IndexRequest request = new IndexRequest("person").id("1").source(dataMap, XContentType.JSON);
// 发送 IndexRequest 请求
IndexResponse response = client.index(request, RequestOptions.DEFAULT);
// 输出结果
System.out.println("Index: " + response.getIndex());
System.out.println("Id: " + response.getId());
System.out.println("Result: " + response.getResult());
// 关闭 Elasticsearch 客户端
client.close();
}
private static RestHighLevelClient createClient() {
// 连接 Elasticsearch 集群的地址
String hostname = "localhost";
int port = 9200;
// 创建 RestHighLevelClient 客户端
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost(hostname, port, "http")));
return client;
}
}
```
这个示例代码中,我们首先创建了一个 Elasticsearch 客户端,并创建了一个包含数据的 Map 对象。然后创建一个 IndexRequest 对象,指定了索引名称、文档 ID 和数据源。最后发送 IndexRequest 请求并输出结果,最后关闭 Elasticsearch 客户端。
阅读全文