Cql的馆藏如何包含替代价值?

时间:2019-05-14 07:01:43

标签: cassandra cql

我有一个问题要查询cassandra集合。

我想进行一个与馆藏搜索一起使用的查询。

CREATE TABLE rd_db.test1 (
    testcol3 frozen<set<text>> PRIMARY KEY,
    testcol1 text,
    testcol2 int
)

表结构是这个...

enter image description here

这是表格的内容。

在这种情况下,我想使cql查询在set列上具有替代选项值。

如果它是sql并且testcol3不是集合,

 select * from rd.db.test1 where testcol3 = 4 or testcol3 = 5

但这是cql和集合。。我尝试

 select * from test1 where testcol3 contains '4' OR testcol3 contains '5'  ALLOW FILTERING ;

 select * from test1 where testcol3 IN ('4','5') ALLOW FILTERING ;

但是这两个查询不起作用...

请帮助...

1 个答案:

答案 0 :(得分:0)

这对您不起作用有多种原因:

您需要更改数据模型,但需要提前知道要执行的查询。从简要了解您的数据模型开始,我建议将set字段展开为多行,其中各个字段对应各个分区。

但是我建议您使用DS201和DS220 courses on DataStax Academy site,以更好地了解Cassandra的工作原理以及如何为它建模数据。