私の環境では弾性5.1.1を使用しています。私はフィールド名post_hashtags
にsuggesterを指定して、文字列の配列を提案しました。私は、接頭辞「INV」のために、以下のような応答を取得しています私は完了suggesterを使用すると、私は重複なしでユニークな提案を得ることができますか?
必須:
POST hashtag/_search?pretty&&filter_path=suggest.hash-suggest.options.text,suggest.hash-suggest.options._source
{"_source":["post_hashtags" ],
"suggest": {
"hash-suggest" : {
"prefix" : "inv",
"completion" : {
"field" : "post_hashtags"
}
}
}
応答:それは同じフィールドに入力された文字列でもあるので
ここ{
"suggest": {
"hash-suggest": [
{
"options": [
{
"text": "invalid",
"_source": {
"post_hashtags": [
"invalid"
]
}
},
{
"text": "invalid",
"_source": {
"post_hashtags": [
"invalid",
"coment_me",
"daya"
]
}
}
]
}
]
}
「無効」が2回返されます他のドキュメントの "post_hashtags"
同じインデックスの1000個の文書に同じ「無効な」入力文字列があると、1000個の重複した提案が膨大になり、必要ではないという問題があります。
タイプ補完のフィールドに集約を適用できますか?
同じインデックスの複数のドキュメントの特定のフィールドに同じ入力文字列がある場合でも、重複したテキストフィールドの代わりに一意の候補を得る方法はありますか?
この回答は役に立ちました:http://stackoverflow.com/a/41800102/4604579 – Val