我的弹性搜索当前版本是6.0.1。
我在“建议”字段中使用完成建议器如下:
GET my_index/_search
{
"suggest": {
"tag-suggest" : {
"prefix" : "black",
"completion" : {
"field" : "suggest",
"size" : 10,
"fuzzy" : {
"fuzziness" : 1
}
}
}
}
}
我想跳过重复项,以便仅检索唯一的建议。
根据elasticsearch文档(https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-completion.html),我可以通过将选项“skip_duplicates”变为true来实现这一点:
GET my_index/_search
{
"suggest": {
"tag-suggest" : {
"prefix" : "black",
"completion" : {
"field" : "suggest",
"skip_duplicates": true,
"size" : 10,
"fuzzy" : {
"fuzziness" : 1
}
}
}
}
}
不幸的是我收到以下错误:
{
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "[completion] unknown field [skip_duplicates], parser not found"
}
],
"type": "illegal_argument_exception",
"reason": "[completion] unknown field [skip_duplicates], parser not found"
},
"status": 400
}
答案 0 :(得分:2)