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查询记录,然后进一步检查releaseate(时间戳值)。据我所知:http://www.datastax.com/dev/blog/whats-new-cassandra-07-secondary-indexes,这很容易实现,因为我首先按行键查询,然后按释放缩小。
但是如何在hector中做到这一点?
使用SliceQuery
不起作用。我知道有IndexedSliceQuery
但我没有二级索引集(可以看作是abolve)。是neverthelss是否正确并且必须使用IndexedSliceQuery(即使我没有seconary索引)??
由于 马库斯
答案 0 :(得分:2)
很抱歉,使用Cassandra API目前无法混合服务器端行和列过滤。 (因为它只对保留订单的分区有意义,所以不太可能改变。)
答案 1 :(得分:2)
如果您知道需要按发布日期查询数据,那么使用Apache Cassandra,您应该以这种方式存储它。
这可以通过两种方式完成: - 调整上面列族定义中的元数据,以包括releasedate上的索引:
update column family Records with column_metadata=[{column_name: releasedate, validation_class: LongType, index_name:releasedate_idx, index_type:0}];
我建议使用第一种方法,让您访问IndexedSlicesQuery及其所有优点。