私の要件は、Cassandra 1 列からレコードを取得する必要があることです。その列の値は、渡した文字列のリスト以外の特定の文字列ではありません...たとえば、データには列名サービスがあります...列には 1,2,3,4,5 の値が含まれている可能性があります.... 5 を表示したくない... 1、2、3、または 4 のレコードを表示したい... これを達成する方法... 誰か助けてくれませんか?
質問する
128 次
1 に答える
1
列に 1..5 を値として保存している場合は、他に方法はありません。クライアント側からのみ行う必要があります。カサンドラエンドからフィルタリングすることはできません
1..5 自体が列名にある場合
row_1 => { 1: value, 2:value... }
row_2 => { 1: value, 2:value... }
..
row_3 => { 1: value, 2:value... }
その後、使用できます
SELECT 1..4 from YOUR_COLUMN_FAMILY where key='yourKey'
別のオプションとして、 1..5 を次のように別々の行として使用できる場合
1 => { c1: value, c2:value... }
2 => { c1: value, c2:value... }
..
5 => { c1: value, c2:value... }
できるよ
SELECT * from YOUR_COLUMN_FAMILY where key in (1,2,3,4)
ここで列の@secondaryインデックスを見ることもできます
列にセカンダリ インデックスが作成されるため、それらの値を直接クエリできます。
于 2012-04-25T08:13:22.990 に答える