卡桑德拉得到某些东西......

时间:2018-01-27 23:37:14

标签: java spring cassandra cql

我目前正在编写一个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

1 个答案:

答案 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等)。但是,性能可能不如内置查询,并且不建议这样做。