我想知道是否有任何方法可以在 cassandra 数据库中执行通配符搜索。例如
select KEY,username,password from User where username='\*hello*';
或者
select KEY,username,password from User where username='%hello%';
像这样的东西。
在 Cassandra 中没有执行此类查询的本地方法。实现相同目标的典型选项是
a) 自己维护可能的搜索词的索引。例如,每当您插入用户名中包含 hello 的条目时,请在索引列族中插入一个条目,其中 hello 作为键,列值作为数据条目的键。查询时,查询索引 CF,然后从数据 CF 中获取数据。当然,这在本质上是相当严格的,但对于一些基本需求可能很有用。
b) 更好的选择是使用全文搜索引擎。看看 Solandra,https://github.com/tjake/Solandra或 Datastax 企业http://www.datastax.com/products/enterprise
这个项目看起来也很有希望 http://tuplejump.github.io/stargate/
我最近没有深入研究它,但是当我上次评估它时,它看起来很有希望。