我一直在尝试使用此命令从Cassandra数据库中检索数据:
select A_NO from Activity where CALL_TYPE IN ('MOC');//here CALL_TYPE is not the row id
但它显示:
Expected key 'KEY' to be present in where clause for 'Activity'
在cassandra中是否有可能借助非主键过滤数据?
答案 0 :(得分:6)
您不能直接在香草列系列上执行此操作。 Cassandra默认情况下只允许您查询键或键范围。您可以通过在列
上创建二级索引来实现此目的您可以像这样运行CQL查询来创建两个索引:
cqlsh> CREATE INDEX state_key ON users (state);
cqlsh> CREATE INDEX birth_year_key ON users (birth_year);
然后像这样查询:
cqlsh> SELECT * FROM users
... WHERE gender='f' AND
... state='TX' AND
... birth_year='1968';