繁体   English   中英

如何在 Cassandra 中设计评分系统表

[英]How to Design a Table for scoring system in Cassandra

我在 Cassandra 中有一张我的产品表。 在这张表中,我存储了产品名称和卖家名称(可能有数千个卖家)和分数(卖家的产品分数),如下所示

CREATE TABLE products
(
    product_name varchar,
    seller_name varchar,
    score    int,
    primary key (product_name, seller_name)
);

我需要在我的代码中更新分数

UPDATE products SET score = 2 WHERE product_name = "iphone-7" AND seller_name = "jack" ;

一切都很好,除了 Select 查询:

SELECT * FROM products WHERE product_name = "iphone-7" ORDER BY SCORE DESC;

我需要按分数顺序获取产品但是如您所知,没有分数作为主键就无法排序但是如果我将分数放在主键中,将无法更新它有什么解决方案?

解决方案是有两个表来满足您的要求。 例如第二个表可以是

CREATE TABLE products_score
(
    product_name varchar,
    score    int,
    primary key (product_name, score)
);

所以你在写作时填充并使用第二个按分数排序

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM