elasticsearch 在ElasticSearch NEST客户端中编制索引时设置一致性级别,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch 在ElasticSearch NEST客户端中编制索引时设置一致性级别,elasticsearch,nest,elasticsearch,Nest" />

elasticsearch 在ElasticSearch NEST客户端中编制索引时设置一致性级别

elasticsearch 在ElasticSearch NEST客户端中编制索引时设置一致性级别,elasticsearch,nest,elasticsearch,Nest,在ElasticSearch文档中,它指定在索引时可以设置一致性级别 但是,在最新版本的NEST客户端中,这已被删除(破坏性更改) 有没有一种新的方法可以做到这一点,因为文档中似乎没有任何关于创建索引或索引数据的内容。文档只包含查询和聚合文本(除非我弄错了) 我想将数据索引到一个一致性级别为“all”的索引中。一致性由控制,它是(搜索等待\u活动\u碎片) 即使我使用wait_for_active_碎片,在一致性方面仍然有漏洞。为记录编制索引,然后尝试从3节点ES群集读回数据,仍然可以返回我

在ElasticSearch文档中,它指定在索引时可以设置一致性级别

但是,在最新版本的NEST客户端中,这已被删除(破坏性更改)

有没有一种新的方法可以做到这一点,因为文档中似乎没有任何关于创建索引或索引数据的内容。文档只包含查询和聚合文本(除非我弄错了)


我想将数据索引到一个一致性级别为“all”的索引中。

一致性由控制,它是(搜索
等待\u活动\u碎片


即使我使用wait_for_active_碎片,在一致性方面仍然有漏洞。为记录编制索引,然后尝试从3节点ES群集读回数据,仍然可以返回我,但没有任何结果。知道为什么会这样吗?所以这确实有效,但是我还需要将“刷新”设置为“true”或“WaitFor”,以便在完成之前在所有碎片上完成操作。Thanks@WillM
等待\u活动\u碎片
刷新
执行不同的操作;前者控制写入碎片,即写入一致性,而后者控制这些更改何时实际写入新段中的磁盘。一般来说,在生产系统中,您应该尽量减少手动刷新,因为要搜索的磁盘段数越多,搜索的磁盘段数就越少
var indexResponse = client.Index(new Message { Content = "demo" }, i => i
    .WaitForActiveShards("all")
);