我是 cassandra 的新手(几天前开始根据自己的兴趣学习)并为以下问题寻求帮助。
我有一个 Cassandra 表“用户”和一个 ListColumn“兴趣扩展 ListColumn [String]”。现在,我想获取所有感兴趣的用户,比如“玩”。
比如:从用户中选择interests.contains("playing")!我扫描了 ListColumn api,但找不到任何东西。此外,在谷歌搜索但没有这样有用的帖子。
任何帮助,请...在此先感谢:)
我是 cassandra 的新手(几天前开始根据自己的兴趣学习)并为以下问题寻求帮助。
我有一个 Cassandra 表“用户”和一个 ListColumn“兴趣扩展 ListColumn [String]”。现在,我想获取所有感兴趣的用户,比如“玩”。
比如:从用户中选择interests.contains("playing")!我扫描了 ListColumn api,但找不到任何东西。此外,在谷歌搜索但没有这样有用的帖子。
任何帮助,请...在此先感谢:)
这可以通过集合列上的二级索引来实现,它仅适用于Set
列,而不适用于List
.
底线:
object interests extends SetColumn[String](this) with Index[Set[String]]
然后您可以执行以下操作:
select.where(_.interests contains "test").fetch()
如果您允许过滤,您也可以使用多个限制。
select.where(_.interests contains "test")
.and(_.interests contains "test2")
.allowFiltering()
.fetch()
仅当在记录中找到两种兴趣时,上述内容才会匹配。