1

私の要件は、Cassandra 1 列からレコードを取得する必要があることです。その列の値は、渡した文字列のリスト以外の特定の文字列ではありません...たとえば、データには列名サービスがあります...列には 1,2,3,4,5 の値が含まれている可能性があります.... 5 を表示したくない... 1、2、3、または 4 のレコードを表示したい... これを達成する方法... 誰か助けてくれませんか?

4

1 に答える 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 に答える