在 cassandra 的 table 中搜索部分值的命令

Command to search a part of value in a table in cassandra

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

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

与上述操作一样,CLI 中的 Cassandra 可以进行任何查询。

您可以使用 SASI 索引来执行这种类型的 "LIKE" 查询。 SASI 是对 Cassandra 社区的开源改进(由 Apple 贡献)。该索引是为每个刷新到磁盘的 SSTable 而创建的,并且不维护单独的 table。因此更少的磁盘使用,没有单独的 memtable/bloom filter/partition 索引(更少的内存)和最小的开销。

本质上就是三种模式

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

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

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

Reference 关于 SASI 索引的文档。