首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Elassandra搜索复制的数据

Elassandra搜索复制的数据
EN

Stack Overflow用户
提问于 2018-11-14 14:59:45
回答 2查看 81关注 0票数 0

在将查询分发到节点时,token_range是如何在Elassandra中决定的?

当跨Elassandra节点复制数据时,会发生什么情况?

如何过滤重复的结果?

EN

回答 2

Stack Overflow用户

发布于 2019-02-02 01:35:57

我的理解是,查询以类似于Cassandra的方式遍历集群。

数据复制不是Elasticsearch方面的问题。它们创建自己的表来创建自己的搜索信息,这些表通过标准的Cassandra机制进行复制。如果您了解Cassandra复制是如何工作的,那么Elasticsearch数据也会做同样的事情。

过滤的发生是因为每个搜索节点都被赋予了一个非重叠的标记范围来处理。换句话说,一个节点被要求返回1,2,3的结果,下一个节点返回4,5,6的结果,第三个节点返回7,8,9的结果。因此不会有重叠,也不会发生实际的过滤。

票数 0
EN

Stack Overflow用户

发布于 2019-02-13 16:46:37

Elassandra根据目标索引的search_strategy_class将查询分发到节点。有两种策略:PrimaryFirstSearchStrategy (默认)和RandomSearchStrategy

主要优先搜索策略

每个节点都参与查询,并负责返回其作为主节点拥有的文档。当一个节点宕机时,将使用下一个副本作为替代。

随机搜索策略

当RF >1时,可以仅用节点的子集到达整个环。随机搜索策略通过随机选择这样的节点子集来利用这一点,以提高搜索效率。

这两种策略都会根据上述行为向每个子查询添加一个token_range过滤器。因此,过滤发生在本地,而不是在协调器节点中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53294684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档