首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ElasticSearch: preserve_position_increments不工作

ElasticSearch: preserve_position_increments不工作
EN

Stack Overflow用户
提问于 2018-08-29 15:54:54
回答 1查看 598关注 0票数 3

根据文件所说

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-completion.html

preserve_position_increments=false应该使字符串中的连续关键字可搜索。但对我来说这是行不通的。这是一个bug吗?在Kibana复制的步骤:

代码语言:javascript
复制
PUT /example-index/
{
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 0
  },
  "mappings": {
    "_doc": {
      "properties": {
        "example-suggest-field": {
          "type": "completion",
          "analyzer": "stop",
          "preserve_position_increments": false,
          "max_input_length": 50
        }
      }
    }
  }
}

PUT /example-index/_doc/1
{
  "example-suggest-field": [
        {
            "input": "Nevermind Nirvana",
            "weight" : 10
        }
    ]
}

POST /example-index/_search
{
  "suggest": {
    "bib-suggest" : {
        "prefix" : "nir",
        "completion" : {
            "field" : "example-suggest-field"
        }
    }
  }
}

POST /example-index/_search
{
  "suggest": {
    "bib-suggest" : {
        "prefix" : "nev",
        "completion" : {
            "field" : "example-suggest-field"
        }
    }
  }
}

如果是,我会写一份错误报告

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-29 16:20:52

这不是bug,只有当你删除停用词并且想要搜索停用词后面的令牌时(即搜索Beat并查找The Beatles),preserve_position_increments才有用。

在您的例子中,您可能应该改为索引["Nevermind", "Nirvana"],即标记数组。

如果您尝试为"The Nirvana"建立索引,则可以通过搜索nir来找到它

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52072317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档