指紋プロセッサ
文書の内容のハッシュを計算します。このハッシュはコンテンツフィンガープリンティングに使用できます。
名前 | 必須 | デフォルト | 説明 |
---|---|---|---|
fields |
はい | n/a | フィンガープリントに含めるフィールドの配列。オブジェクトの場合、プロセッサはフィールドキーと値の両方をハッシュ化します。他のフィールドの場合、プロセッサはフィールド値のみをハッシュ化します。 |
target_field |
いいえ | fingerprint |
フィンガープリントの出力フィールド。 |
salt |
いいえ |
| method
| いいえ | SHA-1
| フィンガープリントを計算するために使用されるハッシュメソッド。MD5
、SHA-1
、SHA-256
、SHA-512
、またはMurmurHash3
のいずれかでなければなりません。 |
| ignore_missing
| いいえ | false
| true
の場合、プロセッサは欠落しているfields
を無視します。すべてのフィールドが欠落している場合、プロセッサは文書を変更せずに静かに終了します。 |
| description
| いいえ | - | プロセッサの説明。プロセッサの目的や構成を説明するのに役立ちます。 |
| if
| いいえ | - | プロセッサを条件付きで実行します。プロセッサを条件付きで実行するを参照してください。 |
| ignore_failure
| いいえ | false
| プロセッサの失敗を無視します。パイプラインの失敗を処理するを参照してください。 |
| on_failure
| いいえ | - | プロセッサの失敗を処理します。パイプラインの失敗を処理するを参照してください。 |
| tag
| いいえ | - | プロセッサの識別子。デバッグやメトリクスに役立ちます。 |
例
以下の例は、フィンガープロセッサの使用を示しています:
Python
resp = client.ingest.simulate(
pipeline={
"processors": [
{
"fingerprint": {
"fields": [
"user"
]
}
}
]
},
docs=[
{
"_source": {
"user": {
"last_name": "Smith",
"first_name": "John",
"date_of_birth": "1980-01-15",
"is_active": True
}
}
}
],
)
print(resp)
Ruby
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
Js
const response = await client.ingest.simulate({
pipeline: {
processors: [
{
fingerprint: {
fields: ["user"],
},
},
],
},
docs: [
{
_source: {
user: {
last_name: "Smith",
first_name: "John",
date_of_birth: "1980-01-15",
is_active: true,
},
},
},
],
});
console.log(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
}
}
}
}
]
}