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

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

| Col1 | Col2 | Col3 | Col4 |
  1. Col1 :Строка (первичный ключ)
  2. Col2 :Строка (первичный ключ)
  3. Col3 :Bigint (индекс)
  4. Col4 :Бигинт

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

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

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

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

Запрос выбирает col1, col2, col3, col4 из table1, где col3 = 67 работает

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

7
задан Brian Tompsett - 汤莱恩 23 July 2017 в 14:49
поделиться