指纹处理器编辑

计算文档内容的哈希值。您可以将此哈希值用于 内容指纹识别

表19. 指纹选项

名称 必需 默认值 描述

字段

不适用

要包含在指纹中的字段数组。 对于对象,处理器会同时对字段键和值进行哈希处理。 对于其他字段,处理器仅对字段值进行哈希处理。

目标字段

指纹

指纹的输出字段。

<无>

哈希函数的盐值

方法

SHA-1

用于计算指纹的哈希方法。 必须是 MD5SHA-1SHA-256SHA-512MurmurHash3 之一。

忽略缺失

如果为 true,则处理器会忽略任何缺少的 字段。 如果所有字段都缺失,则处理器将静默退出,而不会修改文档。

描述

-

处理器的描述。 用于描述处理器的用途或其配置。

如果

-

有条件地执行处理器。 请参阅 有条件地运行处理器

忽略失败

忽略处理器的失败。 请参阅 处理管道故障

失败时

-

处理处理器的失败。 请参阅 处理管道故障

标签

-

处理器的标识符。 对于调试和指标很有用。

示例编辑

以下示例说明了指纹处理器的用法

response = client.ingest.simulate(
  body: {
    pipeline: {
      processors: [
        {
          fingerprint: {
            fields: [
              'user'
            ]
          }
        }
      ]
    },
    docs: [
      {
        _source: {
          user: {
            last_name: 'Smith',
            first_name: 'John',
            date_of_birth: '1980-01-15',
            is_active: true
          }
        }
      }
    ]
  }
)
puts response
POST _ingest/pipeline/_simulate
{
  "pipeline": {
    "processors": [
      {
        "fingerprint": {
          "fields": ["user"]
        }
      }
    ]
  },
  "docs": [
    {
      "_source": {
        "user": {
          "last_name": "Smith",
          "first_name": "John",
          "date_of_birth": "1980-01-15",
          "is_active": true
        }
      }
    }
  ]
}

产生以下结果

{
  "docs": [
    {
      "doc": {
        ...
        "_source": {
          "fingerprint" : "WbSUPW4zY1PBPehh2AA/sSxiRjw=",
          "user" : {
            "last_name" : "Smith",
            "first_name" : "John",
            "date_of_birth" : "1980-01-15",
            "is_active" : true
          }
        }
      }
    }
  ]
}