是否有#34; SOUNDS LIKE"在CQL中的函数就像MySQL中的函数一样?

时间:2015-09-11 17:44:19

标签: cassandra cql

当我使用MySQL时,我能够使用类似SELECT * FROM table WHERE col LIKE "%attribute%";

的语句查询数据库

我有没有办法在卡桑德拉做到这一点?

2 个答案:

答案 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:类似操作#4477

新的CQL LIKE关键字允许使用%作为通配符将任何列匹配到搜索模式。请注意,LIKE仅适用于ALLOW FILTERING。

LIKE语法支持:

'_'与任何单个字符匹配

'%'匹配任何子字符串(包括空字符串)

'\'转义下一个模式字符,因此它与逐字匹配

任何其他图案字符都匹配

空模式匹配空文本字段

例如:

  

插入t(id,名称)值(17,“ Mircevski”)

     

SELECT * FROM t,其中名称“ Mirc%”允许过滤

来源:[RELEASE] Scylla 3.2 RC1 2