Кассандра: Запрос с предложением where, содержащим больше или меньше (<и>)

Я использую Cassandra 1.1.2. Я пытаюсь преобразовать приложение RDBMS в Cassandra. В моем приложении RDBMS у меня есть следующая таблица table1:

| Col1 | Col2 | Col3 | Col4 |
Col1: String (primary key) Col2: String (primary key) Col3: Bigint (index) Col4: Bigint

Эта таблица насчитывает более 200 миллионов записей. Чаще всего используемый запрос выглядит примерно так:

Select * from table where col3 < 100 and col3 > 50;

В Кассандре я использовал следующую инструкцию для создания таблицы:

create table table1 (primary_key varchar, col1 varchar, 
col2 varchar, col3 bigint, col4 bigint, primary key (primary_key));

create index on table1(col3);

Я изменил первичный ключ на дополнительный столбец (я вычисляю ключ внутри моего приложения). После импорта нескольких записей я попытался выполнить следующую cql:

select * from table1 where col3 < 100 and col3 > 50;

Этот результат:

Bad Request: No indexed columns present in by-columns clause with Equal operator

Запросselect col1,col2,col3,col4 from table1 where col3 = 67 работает

Google сказал, что нет никакого способа выполнить такие запросы. Это правильно? Любой совет, как создать такой запрос?

Ответы на вопрос(2)

Ваш ответ на вопрос