【发布时间】:2014-11-23 15:43:19
【问题描述】:
对于我定义的列族是否可以进行以下选择查询,因为我收到了错误的请求错误。我应该如何对我的列族建模以获得正确的结果。
CREATE TABLE recordhistory (
userid bigint,
objectid bigint,
operation text,
record_link_id bigint,
time timestamp,
username text,
value map<bigint, text>,
PRIMARY KEY ((userid, objectid), operation, record_link_id, time)
) WITH CLUSTERING ORDER BY (operation ASC, record_link_id ASC, time DESC)
选择查询:
SELECT * FROM recordhistory WHERE userid=439035 AND objectid=20011009 AND operation='update' AND time>=1389205800000 AND time<=1402338600000 ALLOW FILTERING;
错误请求:PRIMARY KEY 列“时间”不能被限制(前面的列“record_link_id”要么不受限制,要么受非 EQ 关系限制)
SELECT * FROM recordhistory WHERE userid=439035 AND objectid=20011009 AND record_link_id=20011063 ALLOW FILTERING;
错误请求:PRIMARY KEY 列“record_link_id”不能被限制(前面的列“操作”要么不受限制,要么受非 EQ 关系限制)
【问题讨论】:
-
实际上,我在查询中有分区键,并尝试通过跳过一些集群列来使用 ALLOW FILTERING。