現在、Google のスペルミス修正に似たサジェスタを設定しようとしています。次のクエリでElastic Suggestersを使用しています。
{
"query": {
"match": {
"name": "iphone hüle"
}
},
"suggest": {
"suggest_name": {
"text": "iphone hüle",
"term": {
"field": "name"
}
}
}
}
次の提案が得られます。
"suggest": {
"suggest_name": [
{
"text": "iphone",
"offset": 0,
"length": 6,
"options": []
},
{
"text": "hule",
"offset": 7,
"length": 4,
"options": [
{
"text": "hulle",
"score": 0.75,
"freq": 162
},
...
{
"text": "hulk",
"score": 0.75,
"freq": 38
}
]
}
]
}
今私が抱えている問題は、オプション内と提案内の返されたテキストにあります。私が送信したテキストと返されたテキストは、「hule」ではなく「hüle」である必要があります。さらに、返されるオプション テキストは、実際には「hulle」ではなく「hülle」である必要があります。クエリとサジェスタに同じフィールドを使用しているため、通常のクエリ結果ではなく、サジェスタでのみウムラウトが欠落しているのはなぜだろうか。
ここでクエリ結果を参照してください。
"_source": {
...
"name": "Ladegerät für iPhone",
"manufacturer": "Apple",
}