我一直在尝试使用以下命令从 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 中是否不可能在非主键的帮助下过滤数据?
我一直在尝试使用以下命令从 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 中是否不可能在非主键的帮助下过滤数据?
您不能直接在 vanilla 列族上执行此操作。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';