Sorting 按计数对结果进行Cassandra排序

Sorting 按计数对结果进行Cassandra排序,sorting,cassandra,datamodel,Sorting,Cassandra,Datamodel,我正在记录用户搜索各种关键字的数据。我想要生成的是一个报告,其中包含用户搜索的所有唯一关键字,按搜索次数的升序和降序排序 这是可以用Cassandra建模的东西吗?如果是,模型会是什么样子 谢谢 您可以将每个关键字用作行键,并为每行使用计数器列来跟踪搜索次数。然后,您可以通过扫描每一行并读取计数器来生成报告。Cassandra不会对结果进行排序(假设您使用的是默认的RandomPartitioner而不是OrderPreservingPartitioner),但是考虑到大概只有数万个关键字,您可

我正在记录用户搜索各种关键字的数据。我想要生成的是一个报告,其中包含用户搜索的所有唯一关键字,按搜索次数的升序和降序排序

这是可以用Cassandra建模的东西吗?如果是,模型会是什么样子


谢谢

您可以将每个关键字用作行键,并为每行使用计数器列来跟踪搜索次数。然后,您可以通过扫描每一行并读取计数器来生成报告。Cassandra不会对结果进行排序(假设您使用的是默认的RandomPartitioner而不是OrderPreservingPartitioner),但是考虑到大概只有数万个关键字,您可以在客户端轻松地对它们进行排序。

根据,在键本身中存储计数器值并不罕见。因此,为了存储Bob、Ken和Jimmy登录网站的次数,单行如下所示:


登录:[(0001_-Bob,,(0002_-Bob,,,,,,,(0010_-Ken,,,(0012_-Jimmy,,,,,,]

请注意,您的键将在尾端以最高计数自动排序,这接近于一个恒定的时间查找

请注意,每次用户登录时,都会创建一个新的列键。您必须跟踪另一行中的登录数,以便快速查找到目前为止已发生的登录数以及下一个键应具有的整数值:


登录计数:[(鲍勃,2),(肯,10),(吉米,10),…]

我真的不想站在需要支持这种方法的人的立场上。