我想将JSON字符串加载到Elasticsearch 7.3版中。
以下是我为此使用的代码。
private RestHighLevelClient restHighLevelClient;
String jsonString="//here the complete JSON string";
JSONObject jsonObject = new JSONObject(cojsonStringntent1.toString());
HashMap<String, Object> hashMap = new Gson().fromJson(jsonObject.toString(), HashMap.class);
IndexRequest indexRequest = new IndexRequest("index", "type").source(hashMap);
restHighLevelClient.index(indexRequest, RequestOptions.DEFAULT);
如果我通过POSTMEN发布相同的jsonString,那么它会完美地加载到ELASTICSEARCH中。
最佳答案
如果您没有使用spring(没有提到),则可以使用下面的简单代码创建resthighlevelclient
。
在下面的代码中,我正在从配置文件中读取elasticsearch配置,可以随意将其更改为读取属性或配置的方式,或者如果您只是想快速对其进行硬编码,则对主机和端口的值进行硬编码
RestHighLevelClient restHighLevelClient = new RestHighLevelClient(
RestClient.builder(new HttpHost(configuration.getElasticsearchConfig().getHost(),
configuration.getElasticsearchConfig().getPort(),
"http")));