ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## Ingest Node(预处理节点) 你可以使用ingest node(预处理节点)在文档被索引执行发生之前对文档进行预处理(pre-process). 这些预处理行为发生在预处理节点对批量(bulk)请求和索引(index)请求的拦截的时候,对请进行数据进行转换,然后将转换后的请求数据再传递返回给对应的批量(bulk)请求和索引(index)请求. 你可以将任意节点设置成预处理节点或者使用专门的预处理节点.所有节点默认都是预处理节点.如果你想禁止某节点成为预处理节点,你可以在配置文件elasticsearch.yml中加入如下配置: ~~~ node.ingest: false ~~~ 为了在索引文档之前进行预处理操作,你需要定义一个包含一系列processors的pipeline.每种processor通过某种指定方式对文档进行转换.比如,你可以定义这样一个pipeline,同时包含两个processor,前者可以删除文档的某个字段,后者可以重新命名文档的一个字段.然后可以将该pipeline存储在集群状态( cluster state 为集群所有节点共享,意味着所有节点可以使用该pipeline). 为了使用一个pipeline,你可以在进行批量请求或索引请求的时候在URL中指定pipeline参数,来告诉预处理节点来使用哪个pipeline,例如: ~~~ PUT my-index/my-type/my-id?pipeline=my_pipeline_id { "foo": "bar" } ~~~