如何使用索引别名更新文档

时间:2017-06-09 19:24:57

标签: elasticsearch

我创建了一个索引“index-000001”,主分片= 5,副本= 1.我创建了两个别名

  1. alias-read - >指数-000001
  2. alias-write - >指数-000001
  3. 用于索引和搜索目的。当alias-write达到其最大容量时进行翻转时,它会创建一个新的“index-000002”并将别名更新为

    1. alias-read - > index-000001和index-000002
    2. alias-write - >指数-000002
    3. 如何更新/删除index-000001中存在的文档(如果我知道的是文档ID而不是文档所在的索引,该怎么办?)

      由于

1 个答案:

答案 0 :(得分:2)

使用索引别名进行更新是不可能的,最好的解决方案是使用文档ID或术语来获取搜索查询并获取所需的索引。使用索引,您可以直接更新文档。

如果已知doc_id,

GET alias-read/{type}/{doc_id}将获得所需的文档。

如果doc_id未知,则使用唯一ID引用

找到它
GET alias-read/_search
{
   "term" : { "field" : "value" }
}

在这两种情况下,您都会得到一份文件作为回复。

获取文档后,您可以使用“_index”字段获取所需的索引。

PUT {index_name}/{type}/{id} {
    "required_field" : "new_value"
}

更新文档。