У меня есть вопрос, чтобы запросить коллекцию cassandra.
Я хочу сделать запрос, который работает с поиском по коллекции.
CREATE TABLE rd_db.test1 (
testcol3 frozen<set<text>> PRIMARY KEY,
testcol1 text,
testcol2 int
)
структура таблицы такая...
а также
это содержимое таблицы.
в этой ситуации я хочу, чтобы запрос cql имел альтернативные значения параметров в заданном столбце.
если это sql и testcol3 не коллекция,
select * from rd.db.test1 where testcol3 = 4 or testcol3 = 5
но это cql и коллекция .. я пытаюсь
select * from test1 where testcol3 contains '4' OR testcol3 contains '5' ALLOW FILTERING ;
select * from test1 where testcol3 IN ('4','5') ALLOW FILTERING ;
но эти два запроса не сработали...
пожалуйста помоги...
Это не сработает для вас по нескольким причинам:
OR
testcol3
)Вам нужно изменить модель данных, но вам нужно заранее знать запросы, которые вы выполняете. Из краткого изучения вашей модели данных я бы предложил развернуть поле набора в несколько строк, с отдельными полями, соответствующими отдельным разделам.
Но я хочу предложить взять DS201 & DS220 курсы на сайте DataStax Academy для лучшего понимания того, как работает Cassandra, и как для нее моделировать данные.