ElasticSearchLookupService Controller Service
描述
从 Elasticsearch Server 查找与指定文档 ID 关联的记录。 传递给查找的坐标必须包含键“id”。
标签
属性
| 名称 | 默认值 | 可选值 | 描述 |
|---|---|---|---|
| Schema Access Strategy | infer |
| 指定如何获取用于解释数据的架构。 |
| Schema Registry | | 控制器服务 API:SchemaRegistrycn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 指定用于架构Registry的Controller Service |
| Schema Name | ${schema.name} | 指定要在架构Registry属性中查找的架构名称 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Schema Version | | 指定在 Schema Registry 中查找 Schema 的版本。如果未指定,则检索 Schema 的最新版本。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Schema Branch | | 指定在 Schema Registry 属性中查找 Schema 时使用的分支名称。如果选择的 Schema Registry 不支持分支,则此值将被忽略。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Schema Text | ${avro.schema} | Avro 格式的架构文本 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Client Service | | 控制器服务 API:ElasticSearchClientServicecn.org.acal.lynxus-lynxus-elasticsearch-client-service-api-nar-2.11.8 | 用于运行查询的 ElasticSearch 客户端服务。 |
| Index | | 要读取的索引的名称 支持表达式语言:是(仅使用环境/系统变量求值) | |
| Type | | 该文档的类型(Elasticsearch 用于索引和搜索) 支持表达式语言:是(仅使用环境/系统变量求值) |
动态属性
| 名称 | 值 | 描述 |
|---|---|---|
| 一个 JSONPath 表达式 | 一个 Record Path 表达式 | 使用 JSONPath 从结果文档中检索对象,并将其放置在返回记录的指定 Record Path 处。 |
状态管理
该组件不存储状态。
受限 (Restricted)
该组件不受限。
提供的 Service API
LookupService
详细说明
ElasticSearchLookupService
说明
该 Lookup Service 使用 ElasticSearch 作为数据源。LookupRecord 中的映射 把记录路径(record path)映射到 ElasticSearch 文档内的路径。示例:
/user/name => user.contact.name
这会把记录路径 /user/name 映射到名为 contact 的嵌入文档中名为 name 的字段。
由这些映射组装出的查询是一个布尔查询,所有条件都在 must 列表下。 此外,目前不支持通配符,所有条件都会被转换为字面量 match 查询。
后处理(Post-Processing)
由于 ElasticSearch 结果的结构可能与本服务要富化的记录不同,用户可以在 该 Lookup Service 上指定一组额外的映射,把 JsonPath 操作映射到记录路径。 示例:
$.user.contact.email => /user/email_address
这会把嵌入文档 contact 中的 email 字段复制到记录的该路径。