2017-07-17 34 views
1

我們已經完成了爲不同參數集開發可擴展模式的任務,並且還能夠通過組合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很多爲你的答案。

而且我們知道,如果沒有索引,即使進行過濾,我們也無法搜索。

回答

0

經過大量測試並在一個月內在負載下運行此體系結構之後,這似乎是一個有效的案例。由於Cassandra的nosql本質,由於數據模式較弱,這似乎是Cassandra的主要特徵之一。這種方法的優點是你不必在模式更新之後重建索引或者像這樣做。但準備好嚴重的空間消耗