在我的密钥空间
posts = [ #key 'post1': { # columns and value 'url': 'foobar.com/post1', 'body': 'Currently has client support FOOBAR for the following programming languages..', }, 'post2': { 'url': 'foobar.com/post2', 'body': 'The table with the following table FOOBAR structure...', }, # ... , }
如何在Cassandra中创建一个类似的查询来获取包含单词"FOOBAR"的所有帖子?在SQL中SELECT * FROM POST WHERE BODY LIKE '%FOOBAR%'
,但在Cassandra?
有效地做到这一点的唯一方法是使用全文搜索引擎,如https://github.com/tjake/Solandra(Solr-on-cassandra).当然你可以手动使用相同的技术自己动手,但通常不需要这样做.
请注意,对于SQL数据库也是如此:除非您使用像postgresql的tsearch2这样的FTS扩展,否则它们会将%FOO%转换为表扫描.