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

时间:2011-03-18 19:26:12

标签: nosql cassandra

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

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

此外,是否有人知道Cassandra是否有任何改变此计划的计划?

谢谢!

1 个答案:

答案 0 :(得分: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)中的位图索引将支持对索引的不等式操作。