List 如何在cassandra数据库2.2.1中基于列表中的值进行搜索

List 如何在cassandra数据库2.2.1中基于列表中的值进行搜索,list,search,dictionary,cassandra,List,Search,Dictionary,Cassandra,现在,我想根据字段映射\值列中列表中的值进行搜索。我也试过: {'287': ['28'], '288': [''], '289': [''], '291': ['33'], '295': [''],'309': ['214', '215']} 它显示的错误如下: cqlsh:sampledb> select * from tbl_master_values where fields_value['309'] contains '215'; InvalidRequest: code=

现在,我想根据字段映射\值列中列表中的值进行搜索。我也试过:

{'287': ['28'], '288': [''], '289': [''], '291': ['33'], '295': [''],'309': ['214', '215']} 
它显示的错误如下:

cqlsh:sampledb> select * from tbl_master_values where fields_value['309'] contains '215';
InvalidRequest: code=2200 [Invalid query] message="No secondary indexes on
the restricted columns support the provided operators: 'fields_value = <value>'"

cqlsh:crmdb> select * from tbl_master_values where fields_value['309']=['215'];
InvalidRequest:code=2200[Invalid query]message=“上没有辅助索引”
受限制的列支持提供的运算符:“fields_value=”

cqlsh:crmdb>从tbl_主值中选择*,其中字段_值['309']=['215'];
它显示的错误如下:

cqlsh:sampledb> select * from tbl_master_values where fields_value['309'] contains '215';
InvalidRequest: code=2200 [Invalid query] message="No secondary indexes on
the restricted columns support the provided operators: 'fields_value = <value>'"

cqlsh:crmdb> select * from tbl_master_values where fields_value['309']=['215'];
InvalidRequest:code=2200[Invalid query]message=“上没有辅助索引”
受限制的列支持提供的运算符:“fields_value=”

您需要的是条目上的索引,而不仅仅是映射键上的索引

试试这个

InvalidRequest: code=2200 [Invalid query] message="No secondary indexes on 
the restricted columns support the provided operators: 'fields_value = <value>'"

但更一般地说,这种二级索引不能很好地随集群大小扩展,因为每个请求将命中许多节点(准确地说是节点数/RF)

cqlsh:crmdb>select*from tbl_master_值,其中字段_值['309']='214';InvalidRequest:code=2200[Invalid query]message=“冻结类型的“值(字段值)”的字符串常量(214)无效”
select*from tbl_master_值,其中字段值['309']=['214']
-->必须在映射值周围放上方括号,因为它是一个列表'309':['214','215']在本例中,我希望检查列表是否包含214。由于列表已冻结,您只能查询列表的全部内容,例如,在列表内容=xxx的情况下,为我提供所有地图。您不能只询问冻结列表是否包含某些元素