查找单词并将其替换为elasticsearch [elasticsearch]

时间:2018-07-10 21:57:31

标签: elasticsearch

如何在Elasticsearch中查找和替换部分数据?

我尝试过update_by_query。但是,它代替了我所要查找的某个字段中的整个值。我要实现的目标是在句子中找到“猫”并将其替换为“狗”

“这是一只猫” ===>“这是一只狗”

我尝试了以下查询:

        //     body: {
        //         script: {source: ctx._source.aa = params.term,
        //                 params: {term: dog},
        //                 lang: "painless"
        //         },
        //         query: {term: cat}
        // }};

1 个答案:

答案 0 :(得分:0)

您可以在replace中使用script方法

POST {index_name}/{type}/{id}/_update
{
  "script" : { 
    "source": "ctx._source.aa=ctx._source.aa.replace(\"cat\", params.term)",
    "params": { "term": "dog" },
    "lang": "painless"
  }
}

注意:脚本语法使用Elasticsearch 6.x.x