elasticsearch 使用updateBuilder时未发生Elasticsearch部分更新,elasticsearch,elasticsearch-jest,elasticsearch,Elasticsearch Jest" /> elasticsearch 使用updateBuilder时未发生Elasticsearch部分更新,elasticsearch,elasticsearch-jest,elasticsearch,Elasticsearch Jest" />

elasticsearch 使用updateBuilder时未发生Elasticsearch部分更新

elasticsearch 使用updateBuilder时未发生Elasticsearch部分更新,elasticsearch,elasticsearch-jest,elasticsearch,Elasticsearch Jest,我在弹性搜索中有以下文档: { "postDate": "2016-03-09T11:57:37+0530", "message": "trying out Elasticsearch", "user": "ankita", "tags": [ "testing" ] } 我正在尝试使用jestHttpClient和以下代码对其进行更新: private static void updateDocume

我在弹性搜索中有以下文档:

   {
      "postDate": "2016-03-09T11:57:37+0530",
      "message": "trying out Elasticsearch",
      "user": "ankita",
      "tags": [
        "testing"
      ]
    }
我正在尝试使用jestHttpClient和以下代码对其进行更新:

 private static void updateDocument(JestClient client, String id) {


    String script = "{\n" +
            "    \"script\" : \"ctx._source.tags += tag\",\n" +
            "    \"params\" : {\n" +
            "        \"tag\" : \"blue\"\n" +
            "    }\n" +
            "}";
    //String script ="{ \"script\" : \"ctx._source.newfield = \"something\"\"}";
    try {
        Update update=new Update.Builder(script).index("article").type("type").id(id).build();
        client.execute(update);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}
但它没有更新文件,不确定这里出了什么问题


是否有一种方法可以部分更新elasticsearch中的文档?

您需要确保您的
elasticsearch.yml
配置文件中有

由于您使用brew安装了ES,因此通常可以在
/usr/local/ceral/elasticsearch/2.2.0/config/elasticsearch.yml

只需将以下行附加到文件并重新启动ES:

script.inline: true

您的更新脚本在此之后应该可以运行。

您是否确保您的
elasticsearch.yml
配置文件中有?我已使用brew下载了elasticsearch,并且我是MAC新手,因此您能否帮我找到可以定位elasticsearch.yml文件的位置。使用brew,ES已经安装在
/usr/local/ceral/elasticsearch
中,您要查找的文件应该位于
/usr/local/ceral/elasticsearch/2.2.0/config/elasticsearch.yml
中,我应该添加什么来更新?根据我共享的链接,您应该在文件末尾添加
script.inline:true
。启用内联后,我遇到了一个问题。它是从rest执行的,但不是从jest api执行的。不知道为什么?不,它不会引发任何错误,只是不更新doc.Hmmm,或者通过jest工作吗?