gpt4 book ai didi

indexing - Cassandra 表中的最佳索引模型

转载 作者:行者123 更新时间:2023-12-02 22:00:48 25 4
gpt4 key购买 nike

``(我已阅读 A Big Data Modeling Methodology for Apache Cassandra 来了解我的项目数据库的数据建模,该数据库使用 Cassandra。因此,我使用查询驱动方法。)

我会有一个搜索客户如下:(这只是一个例子,真实的页面有更多的搜索参数。而且,没有搜索参数是必需参数 .)

Sample Search Customers

我的 Cassandra 键空间中的示例客户表:(根据提到的文章选择主键)

//---------Create Customers Table
USE testKeySpace;
CREATE TABLE IF NOT EXISTS customers(
id varint
name text
birthday date,
gender text,
education text,
PRIMARY KEY ((id,name,gender,education),birthday)
);

问题是:

  • 该表的最佳索引模型是什么?
  • 如何编写查询来支持可选搜索参数

最佳答案

因此,根据您在这里所说的内容,我认为您当前的表设计在索引和搜索能力方面可能存在一些问题。在您的帖子中,您提到不需要任何搜索参数,但根据您当前拥有的表架构,您需要在每个请求的 WHERE 子句中提供 id、姓名、性别和教育背景。这是因为 CQL 要求您要么没有 WHERE 子句,要么 WHERE 子句必须包含它。由于您有一个未提前明确定义(即动态)的查询,因此您不会希望沿着每个查询表的路线走下去,因为您不知道查询可能是什么。

在这种情况下,我的建议是您根据最有效的数据分区方式创建一个具有主键的表。然后,我建议您使用 Undefined_variable 的建议,并在数据之上设置 Solr 或 Elasticsearch,以提供您正在寻找的动态全文搜索功能。如果您决定走 Solr 路线,您将需要考虑使用 Datastax(社区(免费)或企业(付费)),因为它与 Solr(称为 DSE 搜索)具有良好的开箱即用集成。借助 DSE 搜索,您可以使用 CQL 查询 Solr 索引,例如 SELECT * FROMcustomers WHERE solr_query='name: XXXX'。您可以在这里查看更多信息:

http://docs.datastax.com/en/latest-dse/datastax_enterprise/srch/srchCql.html

关于indexing - Cassandra 表中的最佳索引模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35696456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com