Как использовать реляционные операторы в типе карты в Кассандре?
create table tbl_master_values (
dbid int primary key,
user_dbid int, reg_dbid int,
module_dbid int,
fields_value map<text,frozen<list<text>>>,
created_date timestamp,
modified_date timestamp);
CREATE INDEX idx_fields_value ON tbl_master_values (Entries(fields_value));
Столбец fields_value содержит это значение:
{'287': ['28'], '288': [''], '289': [''], '291': ['33'], '295': [''],'309': ['214', '215']}
Теперь я хочу вот так:
select * from tbl_master_values where fields_value['287'] > 20;
Это показывает следующую ошибку
InvalidRequest: code=2200 [Invalid query] message="В записях карты поддерживаются только отношения EQ"
1 ответ
InvalidRequest: code=2200 [Invalid query] message="В записях карты поддерживаются только отношения EQ"
Это довольно ясно. Нет, вы не можете выполнить сканирование диапазона (например, соотношение неравенства) с собственным вторичным индексом Cassandra, это просто невозможно.