Plugin changes
插件命令由bin/plugin修改爲bin/elasticsearch-plugin。插件的文檔結構也做了修改。所有的插件文件必須和elasticsearch評級的目錄中。如果你用工具生成,這種結構會自動生成。
插件隔離
隔離(isolation)選項已被刪除。每個插件都有它自己的類加載器。
網站的插件刪除
網站插件已被刪除。網站插件應該在Kibana插件中實現。
多播的插件刪除
已刪除多播。使用單播發現,或雲發現插件。
自定義查詢插件的實現
自定義查詢插件需要在QueryParser子類中實現fromXContent方法。插件實現自定義評分功能需要在scorefunctionparser子類中實現fromxcontent方法。
Delete-By-Query插件已移除,現在在ES的核心中用Delete By Query接口來實現。當刪除時間比較長的時候,可以通過cancel接口取消。
請求:POST secilog/_delete_by_query
參數:
{ "query": { "match": { "message": "some message" } } }
返回值類似:
{ "took" : 147, "timed_out": false, "deleted": 119, "batches": 1, "version_conflicts": 0, "noops": 0, "retries": { "bulk": 0, "search": 0 }, "throttled_millis": 0, "requests_per_second": -1.0, "throttled_until_millis": 0, "total": 119, "failures" : [ ] }
取消接口
請求:POST _tasks/task_id:1/_cancel
attachments插件被ingest-attachment插件代替
JAVA系統屬性設置,在之前的JAVA系統屬性設置可以在插件腳本中-D參數直接使用。現在這種情況將不在允許,現在通過ES_JAVA_OPTS參數進行設置。
通過path.plugins設置自定義插件路徑將取消。
自定義腳本插件將通過ScriptPlugin實現,取消了以前的通過onModule實現。
自定義分詞插件通過AnalysisPlugin實現,取消了以前的通過onModule實現。
自定義映射插件通過MapperPlugin 實現,取消了以前的通過onModule實現。
自定義行爲插件通過ActionPlugin實現,取消了以前的通過onModule實現。
自定義RestHandler`s插件通過ActionPlugin實現,取消了以前的通過onModule實現。
自定義搜索插件通過SearchPlugin實現,取消了以前的通過onModule實現。
SearchParseElement接口將被移除。自定義請求部分只能通過擴展(ext)元素實現,通過SearchPlugin.SearchExtSpec提供在自定義解析器的附加部分插入自定義的內容,在SearchExtSpec中實現XContent語法。語法解析現在在協調節點。語法解析後的結果和搜索請求的其他部分會通過傳輸層到數據節點,然後存儲在搜索上下文中用於以後檢索。
測試自定義插件
ESIntegTestCase# pluginlist已被刪除,用Arrays.asList來代替,現在它不需要所有的插件都要用java 1.8來實現。
在2.X版本索引中的元字段_size在聚合,腳本和排序中不能使用,如果需要使用這些特性,請用5.X版本重建索引。
文件系統相關的變化
在2.X版本中,索引文件的子集是通過mmap打開。在5.X中,在64爲系統中所有的索引文件都是通過mmap打開,這可能會增加虛擬內存使用量,但影響不大,因爲這隻增加了地址空間的消耗的使用量,其他實際內存的使用情況和2.X類似。
磁盤上的數據的路徑
在之前的版本中,數據路徑通過path.data進行配置,實際的路徑包括集羣名稱。所以數據路徑的全路徑爲$DATA_DIR/$CLUSTER_NAME/nodes/$nodeOrdinal。在5.0中路徑中的集羣名稱將不建議使用,現在存儲的全路徑爲$DATA_DIR/nodes/$nodeOrdinal。但爲了兼容性,在啓動後系統會檢查集羣文件夾和文件夾中的數據是否存在,如果存在系統將會儘可能讀取數據。這個特想將在6.0中取消。
如果多個集羣實例公用一個數據路徑,需要在數據路徑下添加集羣名稱,這樣就可以保證不同的集羣存儲到不同的路徑下。
在5.0之前,當node.data: false和node.master: false設置的時候,系統是不寫入任何文件到到磁盤。在5.X中,系統需要寫入實例化節點ids標誌,需要節點來存儲這些信息。因此,所有的節點類型都將寫入一個小的狀態文件到他們的數據文件夾。
本文由賽克 藍德(secisland)原創,轉載請標明作者和出處。