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

When to query cassandra directly vs using an indexer

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

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

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

Would it be a good idea to read big data (query that returns billions of results) using an indexer(elastic search/solr) overtop of cassandra? Or would it be more preformant to ask cassandra directly? I am only wondering about reading data, not about updating and deleting

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

Should indexers only be used for searches that return smaller sets of data?

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

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

I guess in a nutshell my question is when is it better to query an indexer over a big data database - more specifically cassandra when the query narrows down the potential reaults? Does this mean if the query returns a wide range of results that it aould be better to query cassandra directly?

简而言之,如果您可以使用与 ElasitcSearch 查询相同的方式缩小来自 Cassandra 的结果,那么您就不需要 ElasticSearch。