我打算尽可能地隔离Elasticsearch索引和搜索请求,以避免索引过程中出现任何不必要的延迟。没有Elasticsearch专用搜索节点或索引节点这样的东西。但是,我想知道以下情况是否合适。据我所知,我不能完全将搜索请求与索引请求隔离开,因为最后两个命中ES数据节点,但我认为这可以帮助一点:
在这种情况下,接收数据节点将充当用于索引路径的协调器节点,并且专用协调器节点将用于路由到数据节点上的副本。可以最小化由于搜索路由而导致的数据节点不必要的负载。
我想知道是否有另一种方法可以在更高级别提供隔离,或者我也疯狂不使用协调节点作为索引路径。
P.S:我的用例是重型索引和轻/中搜索
答案 0 :(得分:0)
您无法将索引和搜索操作分开,索引将在主分片上写入,然后在副本分片上写入,而搜索只能在主分片上进行。
如果你关心写性能:
协调器节点根本无法提高搜索性能,这取决于您的工作负载(aggs等......)。
通常,所有调整内容都取决于您的数据和使用情况,您必须在索引编制和搜索性能之间找到良好的平衡,使用_node/stats
端点查看最新情况。