Cassandra 卡桑德拉,在开始和结束时间范围内工作

Cassandra 卡桑德拉,在开始和结束时间范围内工作,cassandra,Cassandra,是否可以与卡桑德拉一起跟踪“预订” 基本上,我的大多数查询都会涉及一个开始时间和一个结束时间,我希望在这里找到与该时间相交的所有预订 我的模式如下所示: CREATE TABLE IF NOT EXISTS events ( calendar_id text, uid text, start_time timestamp, end_time timestamp, dummy text, payload text, PRIMARY KEY (

是否可以与卡桑德拉一起跟踪“预订”

基本上,我的大多数查询都会涉及一个
开始时间
和一个
结束时间
,我希望在这里找到与该时间相交的所有预订

我的模式如下所示:

CREATE TABLE IF NOT EXISTS events (
    calendar_id text,
    uid text,
    start_time timestamp,
    end_time timestamp,
    dummy text,
    payload text,
    PRIMARY KEY (calendar_id, start_time, end_time, dummy)
);
  INSERT INTO events
      (calendar_id, start_time, end_time, uid, dummy, payload)
      VALUES ('cal1', '2016-07-25T12:30:00-06', '2016-07-25T13:30:00-06', 'event1', '0', '{"description": "test"}');
  SELECT * FROM events
      WHERE calendar_id = 'cal1'
      AND dummy = '0'
      AND start_time <= '2016-07-25T13:30:00-06' 
      AND end_time >= '2016-07-25T12:00:00-06';
InvalidRequest: code=2200 [Invalid query] message="Clustering column "end_time" cannot be restricted (preceding column "start_time" is restricted by a non-EQ relation)"
我输入了一些数据,如下所示:

CREATE TABLE IF NOT EXISTS events (
    calendar_id text,
    uid text,
    start_time timestamp,
    end_time timestamp,
    dummy text,
    payload text,
    PRIMARY KEY (calendar_id, start_time, end_time, dummy)
);
  INSERT INTO events
      (calendar_id, start_time, end_time, uid, dummy, payload)
      VALUES ('cal1', '2016-07-25T12:30:00-06', '2016-07-25T13:30:00-06', 'event1', '0', '{"description": "test"}');
  SELECT * FROM events
      WHERE calendar_id = 'cal1'
      AND dummy = '0'
      AND start_time <= '2016-07-25T13:30:00-06' 
      AND end_time >= '2016-07-25T12:00:00-06';
InvalidRequest: code=2200 [Invalid query] message="Clustering column "end_time" cannot be restricted (preceding column "start_time" is restricted by a non-EQ relation)"
我正在尝试这样一个查询:

CREATE TABLE IF NOT EXISTS events (
    calendar_id text,
    uid text,
    start_time timestamp,
    end_time timestamp,
    dummy text,
    payload text,
    PRIMARY KEY (calendar_id, start_time, end_time, dummy)
);
  INSERT INTO events
      (calendar_id, start_time, end_time, uid, dummy, payload)
      VALUES ('cal1', '2016-07-25T12:30:00-06', '2016-07-25T13:30:00-06', 'event1', '0', '{"description": "test"}');
  SELECT * FROM events
      WHERE calendar_id = 'cal1'
      AND dummy = '0'
      AND start_time <= '2016-07-25T13:30:00-06' 
      AND end_time >= '2016-07-25T12:00:00-06';
InvalidRequest: code=2200 [Invalid query] message="Clustering column "end_time" cannot be restricted (preceding column "start_time" is restricted by a non-EQ relation)"
我认为这是可以做到的,因为在这个问题上似乎是这样的:

然而,这个模式没有发布,我们也没有使用pycassa,我似乎不知道如何将它映射到CQL


任何帮助都会很好

DataStax网站上有一篇很好的博文,详细解释了在WHERE子句中可以使用什么,以及为什么会有限制。检查。总之,允许对受限制的最后一组群集列进行多列切片限制