Cassandra 是否可以使用集合在cql中搜索标记?
是否可以查询CQL表中与集合中特定元素完全匹配的项。例如,我们可以在下表中搜索whereCassandra 是否可以使用集合在cql中搜索标记?,cassandra,tags,cql,Cassandra,Tags,Cql,是否可以查询CQL表中与集合中特定元素完全匹配的项。例如,我们可以在下表中搜索wheretag=“music” create table if not exists example ( website text, uuid text, message text, tags set<text>, created timestamp, primary key ((site), uuid))
tag=“music”
create table if not exists example (
website text,
uuid text,
message text,
tags set<text>,
created timestamp,
primary key ((site), uuid))
创建不存在的表格示例(
网站文本,
uuid文本,
消息文本,
标签集,
创建时间戳,
主键((站点),uuid))
可以使用CONTAINS
操作符搜索集合中的元素(请参阅)。但它会非常慢,所以收集索引可能会有所帮助(请参阅),但也不一定是最优的。更好的解决方案可能类似于DataStax中的存储附加索引,但它们还不在OSS Cassandra中。另一个解决方案可能是整合真正的搜索引擎,比如Solr(称为DSE搜索)或Elasticsearch(如Elassandra)
需要考虑的主要问题是分析延迟需求,在某些情况下,最好使用一个单独的表,将标记作为分区键,但在这种情况下,可能会出现数据倾斜,因为没有那么多标记,并且数据分布不均匀