ElasticSearch 实战:管道(pipeline)的使用
POST _ingest/pipeline/_simulate
{
"pipeline": {
"processors": [
{
"script": {
"source": """
if (ctx.containsKey('message')) {
def matcher = regex.matcher(ctx.message);
if (matcher.find()) {
ctx.timestamp = matcher.group(1);
}
}
"""
}
}
]
},
"docs": [
{
"_source": {
"message": "Timestamp: 2019-03-24T09:23:34Z"
}
}
]
}
这个示例代码展示了如何在ElasticSearch中模拟一个管道处理器的使用。这个处理器使用了一个简单的正则表达式来提取一个时间戳,并将其设置为文档的timestamp
字段。这是一个很好的教学示例,因为它演示了如何使用ElasticSearch的Ingest节点功能来转换和准备数据进入ElasticSearch。
评论已关闭