1

特定の行キーの列で範囲スキャンを行うことに興味があります。これまでのところ、Twitter の cassandra クライアントを使用すると、int ベースの列の範囲スキャンを簡単に見つけることができました。

db.get(:cf, rk, {:start => 1, :finish => 10})

しかし、テキスト/utf8であっても、他のデータ型に基づいてスキャンを開始/終了する方法に関するDataStaxのサイトのドキュメントを見つけることはできません。

投稿者が ASCII レンジ スキャンの終了を示すためにチルダ「~」を使用しているブログ投稿に出くわしました。データ型に基づいて列に対して実行できるさまざまな範囲スキャンを文書化した DataStax の Web サイトの公式ページはありますか?

4

1 に答える 1

1

Cassandra は、列ファミリーに対して定義したコンパレーターに基づいてソートされた行にすべてのデータを格納します。コンパレータの型に関する最も正確な情報は、ソース ツリーで直接見つけることができます。各タイプには、 db/marshal ディレクトリに対応するクラスがあります。UTF8Type.javaクラスを見ると、(最終的には) バイトごとの比較を行う比較メソッドが実装されていることがわかります。

したがって、ASCII エンコーディングの場合、次の場所で ASCII ソートを取得します。

"A" < "AA" < "a" < "aa"
于 2013-06-02T17:39:42.113 に答える