elasticsearch跳过完成建议重复

时间:2018-02-04 20:11:09

标签: elasticsearch autocomplete duplicates

我的弹性搜索当前版本是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
} 

1 个答案:

答案 0 :(得分:2)