ElasticSearch的Ingest节点

ElasticSearch的ingest节点用来在真正对文档进行索引之前做预处理。

所有的节点都是默认支持ingest的,任何节点都可以处理ingest请求,也可以创建一个专门的Ingest nodes。可以通过在elasticsearch.yml文件中添加如下配置关闭节点上的ingest功能:

node.ingest: false

为了在真正对文档进行索引之前对文件进行预处理,通过定义包含了多个process的pipeline来实现。每个process实现了对文档的某种转换,如移除某个字段,重命名某个字段等。

要使用某个pipeline,只需要在请求中简单的指定pipeline的id就可以了:

PUT my-index/_doc/my-id?pipeline=my_pipeline_id
{
  "foo": "bar"
}

可以通过ingest API来定义pipeline

PUT _ingest/pipeline/my-pipeline-id
{
  "description" : "describe pipeline",
  "processors" : [
    {
      "set" : {
        "field": "foo",
        "value": "bar"
      }
    }
  ]
}

其他pipeline操作,simulate是指对请求的文档进行同时操作

GET _ingest/pipeline/my-pipeline-id

DELETE _ingest/pipeline/my-pipeline-id

//对下面的dcos进行pipeline操作,pipeline是该simulate请求里面提供的
POST _ingest/pipeline/_simulate
{
  "pipeline" : {
    // pipeline definition here
  },
  "docs" : [
    { "_source": {/** first document **/} },
    { "_source": {/** second document **/} },
    // ...
  ]
}

//对下面的dcos进行pipeline操作,pipeline是已经存在的
POST _ingest/pipeline/my-pipeline-id/_simulate
{
  "docs" : [
    { "_source": {/** first document **/} },
    { "_source": {/** second document **/} },
    // ...
  ]
}

pipeline里面主要包含2部分,一部分是描述,另外就是process。

process有多种: append, Convert ,Data, Data Index Name, Fail,Foreach,Grok,Gsub,Join,Json,KV, Lowercase,  Remove, Rename, Script,Set,Split,Sort,Trim, Uppercase ,   Dot Expander,  URL Decode,  用户也可以定制自己的process,但定制的process需要安装到所有节点上。

转载于:https://my.oschina.net/u/2449787/blog/1635255

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值