何时直接查询cassandra与使用索引器

时间:2017-09-01 10:22:42

标签: elasticsearch solr cassandra cassandra-3.0

使用cassandra的索引器(弹性搜索/ solr)读取大数据(返回数十亿个结果的查询)是不是一个好主意?或者直接询问cassandra是否更具信息性?我只想知道阅读数据,而不是更新和删除。

索引器是否应仅用于返回较小数据集的搜索?

我想简而言之,我的问题是什么时候在大数据数据库上查询索引器更好 - 更具体地说,当查询缩小潜在的reaults时cassandra?这是否意味着如果查询返回大范围的结果,那么直接查询cassandra会更好吗?

1 个答案:

答案 0 :(得分:2)

  

读取大数据(返回数十亿的查询)是否是一个好主意   结果)使用索引器(弹性搜索/ solr)超越   卡桑德拉?或者直接询问cassandra是否更具信息性?一世   我只想知道阅读数据,而不是更新和删除

你的意思是,读取数据,索引数据,然后再从索引中读取 吗? 然后肯定阅读一次会更好。即直接询问卡桑德拉。 除非,您希望使用ElasticSearch语言功能。如果您的查询没有考虑自然语言,那么请直接从Cassandra阅读。

  

索引器是否应仅用于返回较小集合的搜索   数据?

是的,搜索引擎针对此类查询进行了优化。搜索引擎解决了两个主要问题: 1.返回相关结果各种类型的过滤和自然语言功能。例如寻找" USA"并找到"美利坚合众国" 2.以最相关的方式对结果进行评分(通过某些排名函数,例如TD-IDFBM25

当只执行文档id的搜索查询时,会从索引的 store 部分进行汇编,这是最昂贵的搜索引擎操作(除了优化之外) :P)。

  

我想简而言之,我的问题是什么时候查询更好   大数据数据库的索引器 - 更具体地说是cassandra   查询缩小了潜在的罢工?这是否意味着   查询返回广泛的结果,以便查询更好   cassandra直接?

简而言之,如果您可以像ElasitcSearch查询一样缩小Cassandra的结果,那么您就不需要ElasticSearch。