DeleteByQueryElasticsearch

文档中心 › 组件索引 › DeleteByQueryElasticsearch

DeleteByQueryElasticsearch Processor

类型全限定名:cn.org.acal.lynxus.processors.elasticsearch.DeleteByQueryElasticsearch

所属 Bundle:cn.org.acal.lynxus:lynxus-elasticsearch-restapi-nar:2.11.8

描述

使用查询从 Elasticsearch 索引中删除。 查询可以从 FlowFile 主体或查询参数加载。

标签

elasticelasticsearchelasticsearch7elasticsearch8elasticsearch9deletequery

属性

下表中,加粗的属性为必填项;其余为可选项。表格同时标注默认值、是否支持表达式语言,以及是否为敏感属性(值会被加密)。

名称默认值可选值描述
Query Definition Stylefull
  • FULL_QUERY — 提供完整的查询。
  • BUILD_QUERY — 从单独的 JSON 对象构建查询。
如何定义 JSON 查询以供处理器使用。
QueryJSON 语法的查询,不是 Lucene 语法。例如:{"query":{"match":{"somefield":"somevalue"}}}。如果未设置此参数,将从 FlowFile 内容中读取查询。如果查询(属
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Query Clause使用 JSON 语法(而非 Lucene 语法)的 "query" 子句。例如:{"match":{"somefield":"somevalue"}}。如果查询为空,将使用默认的 JSON 对象,从而在 Elasticsearch 中产生 "match_all" 查询。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Query Attribute如果设置,则执行的查询将在指定属性中的每个结果 FlowFile 上设置。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Index要使用的索引的名称。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Type该文档的类型(Elasticsearch 用于索引和搜索)。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Max JSON Field String Length20 MB解析 JSON 文档或属性时字符串值允许的最大长度。
Client Service控制器服务 API:
ElasticSearchClientService
cn.org.acal.lynxus-lynxus-elasticsearch-client-service-api-nar-2.11.8
用于运行查询的 Elasticsearch 客户端服务。

动态属性

动态属性允许用户自定义属性的名称与值。

名称值描述
HTTP 请求头的名称用于检索 HTTP 请求头值的 Record Path 表达式前缀:HEADER: - 将指定的属性名称/值作为 HTTP 请求头添加到 Elasticsearch 请求中。如果 Record Path 表达式结果为 null 或空值,则将省略该 HTTP 请求头。
要添加的 URL 查询参数的名称URL 查询参数的值在用于处理的 Elasticsearch URL 中将指定的属性名称/值添加为查询参数。这些参数将覆盖查询请求体中任何匹配的参数

关系 (Relationships)

名称描述自动终止
failure如果「按查询」操作失败且读取了 FlowFile,它将被发送到此关系。否
retry由于服务器/集群可用性而失败的所有 FlowFile 都会转至此关系。否
success如果「按查询」操作成功且读取了 FlowFile,它将被发送到此关系。否

写入的 FlowFile 属性

名称描述
elasticsearch.delete.took完成删除操作所花费的时间(以毫秒为单位)。
elasticsearch.delete.error如果运行删除时出错,则 Elasticsearch 提供的错误消息。

状态管理

该组件不存储状态。

受限 (Restricted)

该组件不受限。

输入要求

该组件允许有传入连接。

详细说明

DeleteByQueryElasticsearch

该 Processor 使用 _delete_by_query 处理器(handler)对一个或多个索引执行 删除操作。查询应为合法的 Elasticsearch JSON DSL 查询(不支持 Lucene 语法)。查询示例:

{
  "query": {
    "match": {
      "username.keyword": "john.smith"
    }
  }
}

要删除索引的全部内容,可以使用:

{
  "query": {
    "match_all": {}
  }
}