如果确切的单词用作文本,elasticsearch不会建议任何内容?

时间:2018-08-02 07:41:40

标签: elasticsearch

我正在使用text suggester中的elasticsearch。我的索引包含一个文档,该文档的字段为name,其值为crick

{
  "suggest": {
  "my-suggest" : {
  "text" : "crick",
  "term" : {
    "field" : "name",
    "sort": "score"
  }

  }
 }
}  

不返回匹配项,仅在拼写错误的情况下返回值 如果我传递的是确切的文字,它将什么也不会返回 !!

1 个答案:

答案 0 :(得分:1)

您没有使用suggest_mode

建议模式控制要包含的建议,或控制建议的文本术语和建议的建议。可以指定三个可能的值:

missing:仅为不在索引中的建议文本术语提供建议。 这是默认设置。

popular:仅建议出现在文档中的建议,而不是原始建议文本术语。

always:根据建议文本中的术语建议任何匹配的建议。

由于您没有提到suggest_mode,因此默认情况下会选择missing

使用此设置

{
  "suggest": {
  "my-suggest" : {
     "text" : "crick",
     "term" : {
       "field" : "name",
       "sort": "score",
        "suggest_mode": "always"
      }
   }
  }
}