Cassandra Lucene索引在地图类型中搜索
问题描述:
我们已经完成了为不同参数集开发可扩展模式的任务,并且还能够通过组合multipe标准值在其中进行搜索。我们通过使用Map类型并在该地图上构建了Stratio Lucene索引来解决该任务。 这里是我们的方案:Cassandra Lucene索引在地图类型中搜索
CREATE TABLE logging_events (
event_id UUID,
event_parameters MAP<VARCHAR, VARCHAR>,
PRIMARY KEY (event_id)
);
这里是Lucene索引:
CREATE CUSTOM INDEX logging_events_index ON logging_events()
USING 'com.stratio.cassandra.lucene.Index'
WITH OPTIONS = {
'schema': '{
fields: {
"event_parameters": {type: "string"},
}
}'};
我们使用这种方法引起不同的事件,我们有不同的参数。
现在我的问题是如何可靠的东西和我们可以在生产中遇到什么样的问题。这种做法对我们的案例有利还是不利? Thx很多为你的答案。
而且我们知道,如果没有索引,即使进行过滤,我们也无法搜索。
答
经过大量测试并在一个月内在负载下运行此体系结构之后,这似乎是一个有效的案例。由于Cassandra的nosql本质,由于数据模式较弱,这似乎是Cassandra的主要特征之一。这种方法的优点是你不必在模式更新之后重建索引或者像这样做。但准备好严重的空间消耗