1

然而,我还有一种情况。在我的列族中,我有列的行,例如姓名、薪水和出生日期(出生日期),所有列都被索引。我想对 dob 进行范围基础索引搜索。如果您能告诉我我们该怎么做,我们将不胜感激。

4

1 回答 1

0

你可以从 astyanax 转移到 playOrm 就可以了

@NoSqlQuery(name="findByDate", query="PARTITIONS p(:partitionId) SELECT p FROM TABLE p where p.date > :date and p.date <= :data");

你需要一个模式,但如果你想扩展它可以被分区,你只需查询那个单一的分区。有的按客户划分,有的按时间划分。有很多方法可以划分模式。

或者,如果您真的想使用 astyanax,playOrm 会执行批量范围查询,每次都会批量获取所有列(这样您就不会耗尽内存)。该代码位于第 326 行,用于设置 astyanax 范围构建器,第 385 行用于使用构建器创建查询。

https://github.com/deanhiller/playorm/blob/8a4f3405631ad78e6822795633da8c59cb25bb29/input/javasrc/com/alvazan/orm/layer9z/spi/db/cassandra/Cas​​sandraSession.java

意识到 playOrm 也在进行批处理,因此您也看到它设置了批处理大小。

后来,迪恩

于 2012-09-14T19:51:40.663 回答