Elasticsearch Jest更新整个文档

Mas*_*ind 5 elasticsearch jest

我有一个弹性搜索服务器,我正在使用Jest客户端通过Java服务器访问,我正在寻找每次更新文档的多个字段的最佳方法.

到目前为止,我已经查看了文档,我发现有两种方法可以做到:

  1. 通过脚本进行部分更新:我认为它不适合多字段更新(因为我不知道修改后的字段).
  2. 整个文档更新:通过重新索引整个文档.

我的问题是如何知道Jest只通过脚本提供更新来更新整个文档?

这是删除文档和索引更新版本的最佳方法吗?

提前致谢,

Cih*_*ser 5

已经在您也打开的github问题中回答了此问题,但再次出现:

您应该使用第二种链接方式(整个文档更新),并且没有特殊的API,它只是常规的索引请求。因此,您只需Index针对id要更新的文档发送您的请求即可。

例如,假设您已经在index people,type food,id 中的Elasticsearch中建立了以下文档的索引9

{"user": "kramer", "fav_food": "jello"}
Run Code Online (Sandbox Code Playgroud)

然后,您将执行以下操作:

String source = "{\"user\": \"kramer\", \"fav_food\": \"pizza\"}";
JestResult result = client.execute(
            new Index.Builder(source)
                    .index("people")
                    .type("food")
                    .id(9)
                    .build()
    );
Run Code Online (Sandbox Code Playgroud)