create column family Records with
comparator = UTF8Type and
column_metadata =
[
{column_name: name, validation_class: UTF8Type},
{column_name: label, validation_class: UTF8Type},
{column_name: releasedate, validation_class: LongType},我想通过Row-Key查询记录,然后进一步检查releasedate (一个时间戳值)。据我所知:http://www.datastax.com/dev/blog/whats-new-cassandra-07-secondary-indexes,这应该很容易实现,因为我首先通过行键查询,然后通过releasedate缩小范围。
但是如何在hector中做到这一点呢?
使用SliceQuery不起作用。我知道有IndexedSliceQuery,但我没有s个二级索引集(可以看出是绝对的)。使用IndexedSliceQuery (即使我没有二级索引)从来都是不正确的,并且是必须的吗?
谢谢马库斯
发布于 2011-06-15 13:49:22
如果您知道需要按发布日期查询数据,那么使用Apache Cassandra时,您应该以这种方式存储数据。
这可以通过两种方式来完成:-调整上面的列族定义中的元数据,以包括在releaseddate上的索引:
update column family Records with column_metadata=[{column_name: releasedate, validation_class: LongType, index_name:releasedate_idx, index_type:0}]; 我建议使用第一种方法,让您能够访问IndexedSlicesQuery及其所有优点。
发布于 2011-06-13 06:30:00
抱歉,Cassandra API目前不能混合服务器端的行和列过滤。(因为它只对保持顺序的分区程序有意义,所以这种情况不太可能改变。)
https://stackoverflow.com/questions/6291025
复制相似问题