Plugin changesjava
插件命令由bin/plugin修改成bin/elasticsearch-plugin。插件的文檔結構也作了修改。全部的插件文件必須和elasticsearch評級的目錄中。若是你用工具生成,這種結構會自動生成。node
插件隔離app
隔離(isolation)選項已被刪除。每一個插件都有它本身的類加載器。elasticsearch
網站的插件刪除工具
網站插件已被刪除。網站插件應該在Kibana插件中實現。oop
多播的插件刪除測試
已刪除多播。使用單播發現,或雲發現插件。網站
自定義查詢插件的實現插件
自定義查詢插件須要在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)原創,轉載請標明做者和出處。