2016-08-15 109 views
0

我有點特別的要求。Cassandra:按查詢排序

Constelation:我使用Redis DB來存儲地理數據並使用georedius將它們返回,按距離排序。用這個鍵我搜索cassandra中的數據。但是cassandra的結果是在關鍵或其他東西中排序的。

我想要的是,以我要求的相同順序恢復信息。 分區鍵是從ID(我回來形式redis)和狀態。

我可以告訴cassandra按id數組排序嗎?

回答

0

分區鍵設計爲隨機分佈在不同的節點上。您可以使用ByteOrderedPartitioner來執行有序查詢。但防噴器被認爲是反模式是卡桑德拉,我會強烈建議反對它。你可以在這裏閱讀更多關於Cassandra ByteOrderedPartitioner

您可以將更多參數添加到主鍵,這將決定如何在磁盤上存儲數據。這些被稱爲集羣密鑰。您可以通過查詢集羣密鑰來進行排序。這是關於集羣密鑰https://docs.datastax.com/en/cql/3.1/cql/ddl/ddl_compound_keys_c.html的一個很好的文檔。

如果你可以共享更多的模式細節,我可以建議使用什麼作爲集羣密鑰。

+0

謝謝。好。我希望有一個函數可以在之後進行分類。所以我必須在我的代碼中這樣做。我有一個經度和緯度,但是在cassandra表中沒有任何信息來獲得搜索和結果點之間的距離。 – CordlessWool