我的Elasticsearch上有一些文档。我想使用String Regexp更新我的文档内容。
例如,我想将所有http单词替换为https单词,是否可能?
谢谢
答案 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
值。