CQL SELECT запрос больше чем на индексированный неключевой столбец
EDIT1: добавлен случай, чтобы описать проблему после первоначального вопроса.
Я хочу запросить столбец, который не является частью моего ключа. Если я правильно понимаю, мне нужно определить вторичный индекс для этого столбца. Однако я хочу использовать условие «больше, чем» (а не только условие равенства), и это все еще кажется неподдерживаемым.
Я что-то пропустил? Как бы вы решили эту проблему?
Моя желаемая настройка:
Cassandra 1.1.6
CQL3
CREATE TABLE Table1(
KeyA int,
KeyB int,
ValueA int,
PRIMARY KEY (KeyA, KeyB)
);
CREATE INDEX ON Table1 (ValueA);
SELECT * FROM Table1 WHERE ValueA > 3000;
Поскольку определение вторичного индекса в ColumnFamilies с составными ключами по-прежнему не поддерживается в Cassandra 1.1.6, я вынужден прибегнуть к временному решению удаления одного из ключей, но у меня все еще остается та же проблема с условиями неравенства.
Есть ли другой способ решить эту проблему?
Спасибо за ваше время.
Соответствующие источники:http://cassandra.apache.org/doc/cql3/CQL.html#selectStmt http://www.datastax.com/docs/1.1/ddl/indexes
EDIT1
Вот'Это случай, который объяснит проблему. Как отметил rs-atl, это может быть проблема модели данных. Позволять'скажем, я держу семейство столбцов всех пользователей в stackoverflow. для каждого пользователя я сохраняю партию статистики (Reputation, NumOfAnswers, NumOfVotes ... все они являются целыми). Я хочу запросить эту статистику, чтобы получить соответствующих пользователей.
CREATE TABLE UserStats(
UserID int,
Reputation int,
NumOfAnswers int,
.
.
.
A lot of stats...
.
.
.
NumOfVotes int,
PRIMARY KEY (UserID)
);
Сейчас я'заинтересованы в нарезке UserID 'на основе этой статистики. Я хочу, чтобы все пользователи имели репутацию более 10K, я хочу, чтобы все пользователи имели менее 5 ответов и т. Д. И т. Д.
Надеюсь, это поможет. Еще раз спасибо.