Elasticsearch
Elasticsearch Reader (以下简称es) 输出的是 json
字符串,需要使用 json 的 parser 解析。
基础配置信息
数据库地址(
es_host
):es 的host
地址以及端口,常用端口是9200
版本(
es_version
):指定 Elasticsearch 客户端版本,可选参数,目前支持3.x
,5.x
,6.x
三个版本,3.x 包含了 Elasticsearch服务端(2.x)
版本。索引名称(
es_index
):es 的索引名称,必填
,在搜索es的数据时,会看到_index
字段,这个对应的就是 es 的 index。如果需要按天读取,则要开启按照时间转换索引功能(es_date_shift
),在此处配置索引模板,日期渲染与mysql的魔法变量相同,年份为@(YYYY)
,月份为@(MM)
,日期为@(DD)
,如索引按天创建某一天为stat-2018.12.27
,那么此次index就要填写为stat-@(YYYY).@(MM).@(DD)
。
高级选项
- app 名称(
es_type
):es 的 type 名称,选填, 是 es 数据的字段类型集合, 在搜索es的数据时,会看到_type
字段,这个对应的就是 es 的 type。 - 定时任务(
es_cron
): 定时任务触发周期- 直接写
"loop"
,任务会不停的循环,执行完一次再接着执行下一次,后面可以跟循环的间歇时间,如"loop 10s"
,表示每次循环间隔10s
,支持的单位还有"m(分钟)","h(小时)" - crontab 的写法, 类似于
* * * * * *
,对应的是秒(0~59),分(0~59),时(0~23),日(1~31),月(1-12),星期(0~6),填*
号表示所有遍历都执行. - 描述式写法,类似于
"@midnight"
,"@every 1h30m"
,必须@
符合开头,目前支持@hourly
,@weekly
,@monthly
,@yearly
,@every <time duration>
- 直接写
- 认证用户名(
auth_username
):es 的认证用户名。 - 认证用户密码(
auth_password
):es 的认证用户密码。 - 分批查询的单批次大小(
es_limit_batch
):es一次获取的batch size
,默认为100 条
一个 batch。 - offset保存时间(
es_keepalive
): es reader 如果停止,重启后可以继续读取数据的 ID(Offset记录)在 es 服务端保存的时长,默认 1d
,写法按 es 的单位为准,m
分钟,h
小时,d
天。 - 启动时立即执行(
es_exec_onstart
):true
表示启动时执行一次,以后再按 cron 处理;false
则表示到cron 预设的时间才执行,默认为true
。 - 按照时间转换索引(
es_date_shift
):默认关闭,开启后会将索引按照时间模板渲染。 - 按照时间转换索引时间偏移(
es_date_offset
): 对索引(index)进行时间转换时,默认按当前时间,使用这个参数可以对时间进行偏移,单位为小时,如24表示往前偏移1天。通过这个功能,比如偏移24h
,就可以在第二天全量导入前一天的索引,只需要每天定时执行一次即可。 - 循环读取时offset字段名(
es_cron_offset
): 定时读取时作为offset字段的字段名,该字段只在es_cron中使用的是定时任务时生效,且此字段应该具有作为offset字段的特性(递增,例如:timestamp字段)
- 魔法变量:目前支持
年
,月
,日
,时
,分
,秒
的魔法变量,以当前时间 2017 年 6 月 5 日 6 时 35 分 24 秒为例。@(YYYY)
年份,就是2017@(YY)
年份后两位,就是17。@(MM)
: 月份,补齐两位,就是06@(M)
: 月份,不补齐,就是6@(D)
: 日,不补齐,就是5@(DD)
: 日,补齐两位,如05@(hh)
: 小时,补齐两位, 如06@(h)
: 小时,如6@(mm)
: 分钟,补齐两位,35@(m)
: 分钟,35@(ss)
: 秒,补齐两位,24@(s)
: 秒,24
文档反馈
(如有产品使用问题,请 提交工单)