我的elasticsearch当前版本是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
}
最佳答案
不幸的是,skip_duplicates
在您的版本中不可用。
请看这里:https://www.elastic.co/guide/en/elasticsearch/reference/6.0/search-suggesters-completion.html
在6.1版本中引入:https://www.elastic.co/guide/en/elasticsearch/reference/6.1/search-suggesters-completion.html
关于elasticsearch 跳过完成建议重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48612531/