Elasticsearch更新Doc字符串替换

时间:2018-02-21 07:09:47

标签: regex string elasticsearch

我的Elasticsearch上有一些文档。我想使用String Regexp更新我的文档内容。

例如,我想将所有http单词替换为https单词,是否可能?

谢谢

1 个答案:

答案 0 :(得分:0)

这应该让你开始。查看“按查询更新”API here。 API允许您在同一请求正文中包含更新脚本和搜索查询。

关于您的情况,示例可能如下所示......

POST addresses/_update_by_query

{
    "script":
    {
        "lang": "painless",
        "inline": "ctx._source.data.url = ctx._source.data.url.replace('http', 'https')"
    },
    "query":
    {
        "query_string":
        {
            "query": "http://*",
            "analyze_wildcard": true
        }
    }
}

非常自我解释,但script是我们进行更新的地方,query会返回要更新的文档。

无痛支持正则表达式,所以你很幸运,看一些例子here,并相应地更新inline值。