我正在阅读this piece of source code。
这看起来不错,但是如果不是艺术家,那么这个领域是“艺术家”,艺术家在卡桑德拉是list<text>
吗?
我发现这篇文章讨论了使用ListColumn
https://github.com/websudos/phantom/wiki/Collection-columns
但我不确定如何在ListColumn上定义索引
object genre extends ListColumn(this) with Index[List[String]]
上面的行无法编译。
答案 0 :(得分:1)
据我所知,你只能在Set列上包含二级索引的查询,而不是List。
以下是您的所作所为:object genre extends SetColumn[Table, Record, Int](this) with Index[Set[Int]]
。 Table
和Record
两种类型必须与您在上面展开CassandraTable
时提供的内容相匹配,如下所示:
class MyTable extends CassandraTable[MyTable, MyRecord] {
object genre extends SetColumn[MyTable, MyRecord, Int](this) with Index[Set[Int]]
}
希望这是有道理的。谨慎使用ListColumn
,所有集合列都需要TableType
和RecordType
个参数。
<强>更新强>
在更新版本的幻像中,您不需要提供表格和记录的类型。只需执行以下操作:
class MyTable extends CassandraTable[MyTable, MyRecord] {
object genre extends SetColumn[Int](this) with Index[Set[Int]]
}
查看this test有关使用索引集合的示例,然后查看this table以获取有关如何定义此类表的示例。
问候。