Java 卡桑德拉-赫克托:按行键搜索,但按进一步表达式过滤?

Java 卡桑德拉-赫克托:按行键搜索,但按进一步表达式过滤?,java,cassandra,hector,Java,Cassandra,Hector,我想按行键查询记录,然后进一步检查releasedate(时间戳值)。据我所知,这应该很容易做到,因为我首先按行键查询,然后按releasedate缩小查询范围 但如何在赫克托做到这一点 使用SliceQuery不起作用。我知道有indexedlicequery,但我没有s的二级索引集(如图所示)。使用IndexedLiceQuery(即使我没有第二个索引)是否永远都是正确的和必须的 谢谢 Markus很抱歉,Cassandra API目前无法混合服务器端行和列过滤。(而且,由于它只对保留顺序的

我想按行键查询记录,然后进一步检查releasedate(时间戳值)。据我所知,这应该很容易做到,因为我首先按行键查询,然后按releasedate缩小查询范围

但如何在赫克托做到这一点

使用
SliceQuery
不起作用。我知道有
indexedlicequery
,但我没有s的二级索引集(如图所示)。使用IndexedLiceQuery(即使我没有第二个索引)是否永远都是正确的和必须的

谢谢
Markus

很抱歉,Cassandra API目前无法混合服务器端行和列过滤。(而且,由于它只对保留顺序的分区程序有意义,因此不太可能改变。)

对不起,目前Cassandra API不可能混合服务器端行和列过滤。(而且因为它只对保留顺序的分区程序有意义,所以不太可能改变。)

如果您知道需要在发布日期之前查询数据,那么使用Apache Cassandra,您应该以这种方式存储数据

这可以通过两种方式实现: -调整上面列族定义中的元数据,以在releaseddate上包含索引:

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},
  • 或者创建一个附加列族,该列族使用发布日期作为键,并将记录列族的键存储为列名。这与上面的二级索引定义基本相同,但使管理更新和查询的过程更加手动

我建议采用第一种方法,让您能够访问IndexedLicesQuery及其所有优点

如果您知道需要按发布日期查询数据,那么使用ApacheCassandra,您应该以这种方式存储数据

这可以通过两种方式实现: -调整上面列族定义中的元数据,以在releaseddate上包含索引:

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},
  • 或者创建一个附加列族,该列族使用发布日期作为键,并将记录列族的键存储为列名。这与上面的二级索引定义基本相同,但使管理更新和查询的过程更加手动
我建议采用第一种方法,让您能够访问IndexedLicesQuery及其所有优点