ES中的索引生命周期管理

ES中的索引生命周期管理,第1张

ILM :索引生命周期管理,即 Manage the index lifecycle 。

索引的生命周期有四个阶段:

索引的生命周期策略指定了适用于哪些阶段、在每个阶段中执行哪些 *** 作以及何时在各个阶段之间进行转换。

当索引满足一定条件之后,将不再写入数据,而是自动创建一个索引,所有的数据将写入新的索引。

使用滚动索引能够:

官方推荐使用 data stream 数据流来管理时间序列数据。每个数据流都需要一个 索引模板 ,其中包括:

数据流专为追加数据而设计,其中数据流名称可用作 *** 作(读取、写入、翻转、收缩等)目标。如果需要更新数据,可以使用 索引别名 来管理时间序列数据。

ILM 会根据你的配置: 索引大小 、 文档数量 、 所在阶段 ,当满足这些条件时,自动实现 rollover 。

要让 ILM 管理索引,必须要在 indexlifecyclename 索引设置中指定有效的策略。

要为滚动索引创建生命周期策略,你要创建该策略并把它加入到 索引模板 中。

可以通过 Kibana 管理页面设置,也可以通过API设置。

可以通过 Kibana 管理页面设置,也可以通过API设置。

如果要给滚动索引设置策略,需要手动创建第一个被该策略管理的索引,并指定为可写索引。

索引的名称必须跟索引模板里定义的模式相匹配,并且以数字结尾。

你可以在创建索引的时候指定一个策略,也可以直接将策略应用到一个已经存在的索引上通过 Kibana 管理或者更新设置的API。一旦你应用了策略, ILM 立即会开始管理该索引。

查看错误:

重新运行报错的一步:

查看 ILM 状态:

终止 ILM :

开启 ILM :

设置 indexlifecycleindexing_complete 为 true 。

举个例子,如果你要改变一系列新索引的名称,并保留之前根据你配置的策略产生的索引数据,你可以:

相关连接: >

、es库连接

from elasticsearch import Elasticsearch

es = Elasticsearch(["xxxx: 9200"])

2、将文档(txt、word、excel)内容存入到es库

存储思路:不同类型的文档设置不同的额索引名称,从es库中查询文档时相对比较方便,将文件名称、文件内容处理成字符串存入到es库

文件内容读取方式:

word文档使用 Document() 方法;txt文档使用open()方法;excel使用 xlrdopen_workbook()方法

3、根据关键字从es库获取到相关文档

将关键字参数放在essearch()方法中即可查询到在哪些文档中出现过该关键字

essearch(index="XX", doc_type="XX", body={"query": {"match": {"word_info": "关键字参数"}}}, filter_path=['hitshits_source'])

你建立的是联合索引,按照索引中字段顺序使用才会最大化的发挥索引的作用。

索引的建立不需要看主键有几个字段,而是看你的查询条件经常用到哪几列,

如果经常同时用到好几列,就可以在这几列上建联合索引,

如果查询条件经常都只是用到某一个字段,只需要在该字段上建一个单独索引

以上就是关于ES中的索引生命周期管理全部的内容,包括:ES中的索引生命周期管理、es 创建动态索引(二)、espython索引保存到文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9383948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存