Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 是否可以使用集合在cql中搜索标记?_Cassandra_Tags_Cql - Fatal编程技术网

Cassandra 是否可以使用集合在cql中搜索标记?

Cassandra 是否可以使用集合在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))

是否可以查询CQL表中与集合中特定元素完全匹配的项。例如,我们可以在下表中搜索where
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)

需要考虑的主要问题是分析延迟需求,在某些情况下,最好使用一个单独的表,将标记作为分区键,但在这种情况下,可能会出现数据倾斜,因为没有那么多标记,并且数据分布不均匀