我想将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")));

07-24 14:45