elasticsearch 跳过完成建议重复项

标签 elasticsearch autocomplete duplicates

我的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
} 

最佳答案

关于elasticsearch 跳过完成建议重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48612531/

相关文章:

elasticsearch - 具有多个字段值 (bank_name) 的字段 (userid) 的 Kibana 聚合可视化

ruby-on-rails - 轮胎/Elasticsearch 搜索关联

Elasticsearch 查询 geo_polygon 是否在多多边形内

xcode - Xcode 如何决定用于自动完成的预处理器宏和其他build设置?

autocomplete - Google 的 Scribe 自动完成服务是否有 API?

sql - 甲骨文 SQL : Find each position of specific character in multi-row column without duplicates

django - 进行 Elasticsearch 的干草堆,为多个search_indexes创建一个modelresult表

javascript - 如何在选择时将自定义值传递给自动完成输入类型?

SQL 对一个表中的列进行配对

java - java中如何去除字符串中的重复字符?