代码之家  ›  专栏  ›  技术社区  ›  Garima

命令在cassandra中的表中搜索值的一部分

  •  0
  • Garima  · 技术社区  · 6 年前

    LIKE条件允许我们在SQL语句的WHERE子句中使用通配符。这允许我们执行模式匹配。像这样

    SELECT description FROM projects WHERE description LIKE '%hello%';
    

    与上述相同的操作一样,任何查询都可以在CLI中用于Cassandra。

    1 回复  |  直到 6 年前
        1
  •  2
  •   dilsingi    6 年前

    您可以使用SASI索引来执行这种类型的“LIKE”查询。SASI是对Cassandra社区开源的改进(由苹果提供)。该索引是为每个刷新到磁盘的SSTable创建的,并不维护单独的表。因此,磁盘使用量更少,没有单独的memtable/bloom过滤器/分区索引(内存更少),开销最小。

    基本上有三种模式

    PREFIX-用于根据索引列的前缀提供LIKE查询 包含-用于根据索引列中是否存在搜索项提供类似查询 稀疏-用于索引稀疏的数据(每个项/列值的匹配键少于5个)。例如,跨越大时间戳的范围查询。

    在say“description”列上使用此索引,可以满足查询

    从项目中选择描述,其中的描述如''%hello%';

    Reference SASI索引文件。