【问题标题】:Cassandra CQL 3 - Prefix SelectCassandra CQL 3 - 前缀选择
【发布时间】:2014-01-03 08:16:24
【问题描述】:

有没有办法使用 CQL3 基于字符串前缀执行选择? 例如,考虑下表:

Key | Value
------------
ABC | 0x01
ABD | 0x02
BBB | 0x03

我想选择所有前缀为“AB”的键。 该数据库将用于存储空间信息,使用 geohash 方法。

【问题讨论】:

    标签: cassandra cql cql3 geohashing


    【解决方案1】:

    那是不可能“开箱即用”的......但是,人们想出了一些“技巧”,请参阅这两个帖子:

    ...另一种(有点类似)方法可能是定义“复合键”,您将一些前缀定义为“分区键”,例如:{key1,key2},其中key1 = ABkey2 = ABC...在这些情况下,您可以仅通过“key1”查询并获取一组行(就像您想要的那样),或者通过“key1”和“key2”(如果您想要特定条目)。您也可以仅通过“key2”查询(如果您在“选择”查询中添加“允许过滤”,但是如果您有太多行,这可能会导致“问题”)。不确定您是否可以对您的数据执行此操作...

    HTH。

    【讨论】:

      【解决方案2】:

      不是 C* 内置的,但可以使用 cassandra-lucene-index C* 插件。您可以在列上创建一个 lucene 索引并使用prefix search 搜索文本。

      更新:自 v3.4 以来,Cassandra 引入了提供所需功能的 SASI indices

      【讨论】:

        猜你喜欢
        • 2016-04-14
        • 2014-03-23
        • 1970-01-01
        • 2018-02-21
        • 2016-07-10
        • 2017-01-14
        • 2013-07-15
        • 2013-09-13
        • 2011-12-26
        相关资源
        最近更新 更多