我正在研究使用Aquiles在Cassandra中使用二级索引功能的可能性。我知道对于主索引(键),我必须使用OrderPreservingPartitioner才能进行查询。起初,我认为二级索引没有这样的限制,但我注意到start key是GetIndexedSlicesCommand的一部分。这是否意味着在RandomPartitioner下,此命令不可用?
发布于 2011-04-17 05:34:49
您不需要使用OrderPreservingPartitioner来按行键查询,只有当您想要按键获得有意义的行范围时才需要它,比如“键在5到9之间的所有行”。(请注意,可以而且应该始终使用use RandomPartitioner instead。)
get_indexed_slices的start键的行为与get_range_slices的相同。也就是说,在使用RandomPartitioner时,它对于检查两个键之间的一系列行并不是很有意义,但对于对很多行进行分页却很有用。甚至有一个关于这个话题的FAQ entry。基本上,如果您要从对get_indexed_slices的调用中获得大量结果,您不希望一次获取所有结果,您希望一次获取一个块( 10、100或1000个,取决于大小),然后将start_key设置为您在前一个块中看到的最后一个键,以获得下一个块。
https://stackoverflow.com/questions/5681821
复制相似问题