補完フィールドタイプ
completion
suggesterを使用するには、提案を生成したいフィールドをcompletion
タイプとしてマッピングします。これにより、フィールド値がインデックスされ、高速な補完が可能になります。
Python
resp = client.indices.create(
index="music",
mappings={
"properties": {
"suggest": {
"type": "completion"
}
}
},
)
print(resp)
Ruby
response = client.indices.create(
index: 'music',
body: {
mappings: {
properties: {
suggest: {
type: 'completion'
}
}
}
}
)
puts response
Js
const response = await client.indices.create({
index: "music",
mappings: {
properties: {
suggest: {
type: "completion",
},
},
},
});
console.log(response);
コンソール
PUT music
{
"mappings": {
"properties": {
"suggest": {
"type": "completion"
}
}
}
}
補完フィールドのパラメータ
以下のパラメータはcompletion
フィールドで受け入れられます:
analyzer |
使用するインデックスアナライザー、デフォルトはsimple です。 |
search_analyzer |
使用する検索アナライザー、デフォルトはanalyzer の値です。 |
preserve_separators |
区切り文字を保持し、デフォルトはtrue です。無効にすると、 foof のために提案するときにFoo Fighters で始まるフィールドを見つけることができます。 |
preserve_position_increments |
位置のインクリメントを有効にし、デフォルトはtrue です。無効にし、ストップワードアナライザーを使用すると、 b のために提案するときにThe Beatles で始まるフィールドを取得できます。 注意:データを豊かにすることができる場合、Beatles とThe Beatles の2つの入力をインデックスすることでこれを達成することもできます。シンプルなアナライザーを変更する必要はありません。 |
max_input_length |
単一入力の長さを制限し、デフォルトは50 UTF-16コードポイントです。この制限は、基礎となるデータ構造が膨張するのを防ぐために、入力文字列ごとの総文字数を減らすためにインデックス時にのみ使用されます。ほとんどのユースケースは、接頭辞補完が数文字を超えることはまれであるため、デフォルト値の影響を受けません。 |