我正在尝试设计一种流程,以在读取停机时间为零的情况下为Elasticsearch索引重新建立索引,并拒绝写入尝试,直到该过程完成为止。
给出原始索引和指向它的别名,当前流程如下:
问题是通过关闭索引或使用index.blocks.read_only=true
将其设为只读,我无法更新其别名。
将索引设置为只读对于确保任何试图写入数据的人都会得到错误并自行处理重试很重要。
更新别名对于确保任何尝试读取数据的人都能毫无问题地获取数据很重要。
我怎样才能做到这一点?
答案 0 :(得分:0)
因此,有一个专门针对此的文档齐全的选项:
设置为true可禁用对索引的数据写操作。与read_only不同,此设置不会影响元数据。例如,您可以使用写块关闭索引,但不能使用read_only块关闭索引。
由于某种原因,我认为它比限制性更强的read_only
选项要少得多,但是它非常适合这里。