假设我在ElasticSearch索引中有一个tag类型,映射如下:
{
"tag": {
"properties": {
"tag": {"type": "string", "store": "yes"},
"aliases": {"type": "string"}
}
}
}每个条目都是一个标记,以及该标记的别名数组。下面是一个示例项目:
{
"word": "weak",
"aliases": ["anemic", "anaemic", "faint", "flimsy"]
}时不时地,我想添加带有别名的新标签词,并将新别名添加到现有标签词中。
添加带有别名的新标签词很容易,它只是一个新文档。但是,如何以合理的方式向现有的标签词添加新的别名?
我知道我可以只搜索标记词,获取它的文档,搜索别名是否已经存在于别名数组中,如果没有添加,则保存。然而,这听起来并不是一个好的解决方案。
有没有办法进行批量更新?
发布于 2013-04-09 23:50:33
Elastic Search有一个Update API。使用该API,您可以执行以下操作:
curl -XPOST 'localhost:9200/test/tag/weak/_update' -d '{
"script" : "ctx._source.aliases += faint"
}'https://stackoverflow.com/questions/10189019
复制相似问题