2012-09-13 175 views
1

然而,我有一個更多的情況。在我的專欄系列中,我有包含例如名稱,工資和dob(出生日期)列的行,所有列都被編入索引。我想在dob上做一個範圍基礎索引搜索。如果你能讓我知道我們該怎麼做纔會感激。基於範圍搜索日期在astyanax

回答

0

你可以從astyanax移動到playOrm,只是做

@NoSqlQuery(NAME = 「findByDate」,查詢=「區段P(:partitionid的)選擇中的P FROM TABLE p其中p.date>:日期和P .date < =:data「);

你需要一個模式,儘管如果你想擴展並且你只需要查詢那個單獨的分區就可以對它進行分區。按客戶進行一些分區,並且按時間進行分區。有很多方法可以劃分模式。

或者如果您真的想使用astyanax,playOrm會執行批量化的範圍查詢,每次批量獲取所有列(因此您不會泄漏內存)。代碼在第326行用於設置astyanax範圍構建器,第385行用於使用構建器創建查詢。

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

實現playOrm做配料,以及讓你看到它設置批量大小了。

以後, 院長

+0

感謝您的回覆。我看了一下代碼。它是在Key上進行基於範圍的搜索,對於我來說我沒有開始和結束鍵,我只有兩個日期,一個來自Date,另一個來自Date,我需要對這些值進行搜索。 playOrm絕對看起來不錯,但在這個時候我無法切換到它。 – Guest