我正在使用text suggester
的elasticsearch
。我的索引包含一个文档,该文档的字段为name
,其值为crick
{
"suggest": {
"my-suggest" : {
"text" : "crick",
"term" : {
"field" : "name",
"sort": "score"
}
}
}
}
它不返回匹配项,仅在拼写错误时返回一个值
如果我传递确切的文本,它什么也不会返回任何想法!
最佳答案
您没有使用suggest_mode
提示模式控制要包括的建议,或控制建议的文本术语和建议的控制。可以指定三个可能的值:missing
:仅为不在索引中的建议文本术语提供建议。 这是默认设置。 popular
:仅建议在更多文档中出现的建议,而不是原始建议文本术语。always
:根据建议文本中的术语建议任何匹配的建议。
由于您没有提到suggest_mode
,因此默认情况下会选择missing
。
使用此设置
{
"suggest": {
"my-suggest" : {
"text" : "crick",
"term" : {
"field" : "name",
"sort": "score",
"suggest_mode": "always"
}
}
}
}
关于elasticsearch - 如果确切的单词用作文本,elasticsearch不会建议任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51648141/