当您需要对历史数据配置索引或修改索引时,可以使用重建索引功能。日志服务支持在选定的时间段中按照最新的索引规则为LogStore重建索引。本文介绍如何在日志服务控制台上重建索引及相关信息。
前提条件
已开启索引。具体操作,请参见创建索引。
使用限制
-
重建索引支持的时间段:30天~15分钟之前。
-
最多支持创建10个重建任务。
-
无需一次性重建全部历史数据。建议根据实际查询需求,只选择确实需要检索的时间段创建重建索引任务,缩小单个任务覆盖的时间范围。
-
若需重建的数据量较大或时间跨度较长,可分批次创建多个重建索引任务,分别覆盖不同的时间区间,并按时间段规划任务,避免超出重建索引任务的数量限制。
-
-
同一时间内只支持运行1个重建任务。
费用
-
若当前LogStore的计费模式为按写入数据量计费时,重建索引将不产生费用。具体内容,可参见按写入数据量计费。
-
若当前LogStore的计费模式为按使用功能计费时,重建索引会另外产生索引费用(只收取一次)和存储费用(每小时计价一次),价格和正常索引一样。更多信息,请参见按使用功能计费模式计费项。
-
删除索引任务后,新生成的索引数据也被删除,不再收取重建索引而产生的存储费用。
操作步骤
登录日志服务控制台。
在Project列表区域,单击目标Project。
在页签中,单击目标Logstore。
-
单击。
-
在重建索引 面板,单击新建任务。
-
根据需求配置任务名、起始时间和结束时间,单击确定。
起始时间和结束时间为日志服务接收到数据的服务端时间,支持30天至15分钟前的时间点。
创建完成后,可查看重建索引的进度,当进度达到100%时,重建完成。如果页面一直显示进度0%,请单击重建索引 面板右上角的刷新,可以查看重建索引的进度。
重要如果历史数据已存在索引,那么重建索引会覆盖原有的索引。
相关操作
创建重建索引任务后,您还可以进行如下操作:
-
停止重建索引任务
在重建索引 面板,单击停止,停止当前任务。
警告停止后,无法重启任务,只允许删除。请谨慎操作。
-
删除重建索引任务
在重建索引 面板,单击删除,删除当前任务。
警告删除任务的同时重建的索引也被删除。请谨慎操作。
常见问题
为什么配置索引后查询历史日志返回结果为空?
问题原因
索引配置仅对配置生效后新写入的数据生效,对于配置索引之前已经写入LogStore的历史数据,日志服务不会自动建立索引,因此查询这部分历史日志时索引不生效、查询结果为空。此外,请确认要查询的字段(例如 _tag_: _path_、session_id)已在索引配置的指定字段查询中正确添加,并已为其打开开启统计开关;字段未添加或未开启统计时,即使数据已写入也无法通过该字段查询到日志。
解决方法
-
在LogStore的查询分析属性中完善字段索引配置,补齐指定字段查询中缺失的字段并打开开启统计开关。
-
使用重建索引功能,对需要检索的历史时间段执行重建操作,使新的索引规则对历史数据生效。具体操作,请参见本文操作步骤。重建索引可选的时间段为30天~15分钟之前,请在该范围内规划需要重建的时间区间。
如果历史数据已存在索引,那么重建索引会覆盖原有的索引,而不是在原有索引的基础上追加。
验证方法
重建索引任务的进度达到100%后,使用简单查询语句验证,例如 _tag_: _path_: * 或 session_id: *,确认对应时间段的历史日志能够被查询到。