【问题标题】:When to query cassandra directly vs using an indexer何时直接查询 cassandra 与使用索引器
【发布时间】:2018-02-10 09:30:03
【问题描述】:

使用 cassandra 之上的索引器(弹性搜索/solr)读取大数据(返回数十亿结果的查询)是否是个好主意?还是直接问cassandra会更先行?我只是想知道读取数据,而不是更新和删除。

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

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

【问题讨论】:

标签: elasticsearch solr cassandra cassandra-3.0


【解决方案1】:

读取大数据是否是个好主意(返回数十亿的查询 结果)使用索引器(弹性搜索/ solr) 卡珊德拉?还是直接问cassandra会更先行?一世 我只是想知道读取数据,而不是更新和删除

你的意思是,读取数据,索引它,然后从索引中再次读取它? 那么肯定读一次会更好。即直接询问 Cassandra。 除非,您想使用 ElasticSearch 语言功能。如果您的查询不考虑自然语言,请直接从 Cassandra 中读取。

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

是的,搜索引擎已针对此类查询进行了优化。搜索引擎解决了两个主要问题: 1.返回相关结果各种类型的过滤和自然语言能力。例如搜索“USA”并找到“United States of America” 2. 以最相关的方式对结果进行评分(通过一些排名函数,例如TD-IDFBM25

当执行搜索查询时,仅返回文档的 id 并从索引的 store 部分组装,这是最昂贵的搜索引擎操作(除了优化之外 :P )。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-21
    • 2023-04-08
    • 2020-11-24
    • 2021-10-18
    • 2017-10-22
    • 1970-01-01
    • 2020-11-23
    • 2021-12-20
    相关资源
    最近更新 更多