当我使用MySQL时,我能够使用类似SELECT * FROM table WHERE col LIKE "%attribute%";
我有没有办法在卡桑德拉做到这一点?
答案 0 :(得分:3)
Cassandra CQL没有LIKE
运算符。它具有有限的过滤功能,因此限制为等于,某些数字字段上的范围查询以及类似于等于的IN运算符。
搜索Cassandra数据的最常见方法似乎是将Cassandra与Apache Solr配对。或者您可以将它与Apache Spark配对,后者具有比CQL更多的过滤功能。
答案 1 :(得分:0)
CQL LIKE语句位于Scylla Open Source 3.2 RC1中,Scylla是与CQL兼容的数据库Scylla的发行候选版。发布前,我们希望收到反馈。详细信息:
新的CQL LIKE关键字允许使用%作为通配符将任何列匹配到搜索模式。请注意,LIKE仅适用于ALLOW FILTERING。
LIKE语法支持:
'_'与任何单个字符匹配
'%'匹配任何子字符串(包括空字符串)
'\'转义下一个模式字符,因此它与逐字匹配
任何其他图案字符都匹配
空模式匹配空文本字段
例如:
插入t(id,名称)值(17,“ Mircevski”)
SELECT * FROM t,其中名称“ Mirc%”允许过滤