2011-09-07 16 views
0

cassandra-0.7.8を使用してKS & CFを作成し、いくつかの行と列の値(約1000行)を挿入しました。後で、2つの列の値を索引にしたいと考えました。そこで、私は 'update column family ..'コマンドを発行しました。その後、インデックス値に基づいてクエリを実行すると、「行が見つかりません」と表示されます。 索引付け後1.ノドトールを流す2.カスカンドラを一度戻す。それは同じですが。しかし、私はcassandraのデータディレクトリにいくつかのXXX-Index.dbファイルを見ることができました。 私は何が欠けていますか?セカンダリインデックス更新の問題

はここ

create column family ipinfo with column_type=Standard and 
default_validation_class = UTF8Type and comparator=UTF8Type and 
keys_cached=25000 and rows_cached=5000 and column_metadata=[ 
{ column_name : country, validation_class : UTF8Type}, 
{ column_name : ip, validation_class : LongType}, 
{ column_name : domain, validation_class : UTF8Type }, 
]; 

update column family ip with column_type=Standard and 
default_validation_class = UTF8Type and comparator=UTF8Type and 
keys_cached=25000 and rows_cached=5000 and column_metadata=[ 
{column_name : country, validation_class : UTF8Type }, 
{column_name : domain, validation_class : UTF8Type, index_type: KEYS}, 
{column_name : ip, validation_class : LongType, index_type: KEYS} 
]; 

任意の提案をいただければ幸いです、CF詳細です。

答えて

1

セカンダリインデックスは、既にデータがある場合に追加すると、作成に時間がかかります。これは同期加算ではなく、インデックスは非同期で構築されます。インデックス作成が完了するまでしばらく待つことを検討することもできます。残念ながら、インデックス作成が完了した時点を判断する良い方法はわかりません。