我目前正在编写一个spring应用程序。我正在寻找一种方法在cassandra中做一个请求,我可以通过这个例子来获取所有条目:
我有下表:
// determine number of digits in new base
int D = 1;
for( ; Math.pow(finalBase, D) <= val; D++) {}
当我现在搜索Pascal时,我想得到这个结果。
我测试了很多cql命令行,但没有任何作用。
希望有人知道或知道如何做到这一点。谢谢你的阅读!
编辑:
我的resolver_names:
username | entityid
----------+--------------------------------------
pascalku | 55f23680-0201-11e8-9971-4516c86aec2e
答案 0 :(得分:0)
由于username
是主键,因此无法在cassandra中使用LIKE
操作进行查询。请注意,cassandra是NoSQL数据库,它不像关系数据库,您可以在其中运行select * from table where comlum1 like '%pascal%'
之类的查询。我建议您通过免费数据建模课程HTML spec以便更好地理解。简而言之,如果您想在应用程序中使用cassandra运行此类查询,则在建模数据/表时可能会出现问题。
如果它不是主键而只是普通列,则可以使用cassandra 3.4中的SSTable附加二级索引(SASI)来实现LIKE查询。有关详细信息,请参阅here。
有一些框架可以添加到cassandra之上以实现相同的功能(例如Spark SQL等)。但是,性能可能不如内置查询,并且不建议这样做。