2016-02-03 1 views
0
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)); 

colonne fields_value contiennent cette valeur:Comment utiliser les opérateurs relationnels dans le type de carte dans Cassandra?

{'287': ['28'], '288': [''], '289': [''], '291': ['33'], '295': [''],'309': ['214', '215']} 

Maintenant, je veux comme ceci:

select * from tbl_master_values where fields_value['287'] > 20; 

Il TEMOIGNE erreur suivant

InvalidRequest: Code = 2200 [requête non valide] message = "Seules les relations EQ sont prises en charge sur les entrées de carte"

Répondre

0

InvalidRequest: Code = 2200 [requête non valide] message = "Seules les relations EQ sont pris en charge sur les entrées de carte"

Il est assez clair. Non, vous ne pouvez pas effectuer d'analyse de plage (par exemple, relation d'inégalité) avec l'index secondaire natif de Cassandra, ce n'est tout simplement pas possible.