如何在没有相等的情况下在Cassandra中搜索二级索引?

Dav*_*d V 6 cassandra nosql

我需要能够仅使用<,>,<=或> =在二级索引上执行搜索.我理解Cassandra至少需要一个相等索引子句,因为它迭代了该相等索引的所有结果.

是否有任何技巧仅使用<,>,<=或> =(至少在概念上)执行操作?这是个坏主意吗?

另外,有人知道在Cassandra有没有改变这个的计划?

谢谢!

jbe*_*lis 6

如果有一个很好的方法用0.7索引做到这一点,我们/我会在http://www.datastax.com/dev/blog/whats-new-cassandra-07-secondary-indexes中提到它,而不是说"你需要一个平等表达." 没有双重秘密作弊码.

一种替代方法是使用ByteOrderedPartitioner(它允许您对行键执行> =查询).另一个可能是在写入时在数据的某个子集上创建物化视图.假设您有足够的行,只是进行无序顺序扫描太慢了.

0.8(https://issues.apache.org/jira/browse/CASSANDRA-1472)中的位图索引将支持对索引的不等式操作.