2019独角兽企业重金招聘Python工程师标准>>>
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)原创,转载请标明作者和出处。