我创建了KS& CF使用cassandra-0.7.8并插入一些行和列值(大约1000行)。后来,我想索引2列值。所以,我发出了'update column family ..'命令。之后,当我根据索引值查询时,它会显示“Row not found”。 索引后1.发出nodetool flush 2.restarted Cassandra一次。虽然它是一样的。但是,我可以在cassandra数据目录中看到一些XXX-Index.db文件。 我错过了什么?
以下是CF详细信息,
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}
];
任何建议都将不胜感激。
答案 0 :(得分:1)
如果在已有大量数据后添加辅助索引,则需要一段时间才能构建。它不是同步添加,索引是异步构造的。您可能会考虑等待一段时间,直到索引完成。不幸的是,我不知道确定索引何时完成的好方法。