我收到了为autocomplete
工作的完成建议
但是我有一个我无法回答自己的问题
我们为什么将建议存储在文档的某个字段中?
GET /my_index/_search
{
hits: [{
"_id": 1,
"suggest": {
"input": [
"p1",
"p22",
],
"weight": 1
}
}, {
"_id": 2,
"suggest": {
"input": [
"p22",
"p3",
],
"weight": 1
}
}]
}
对于autocomplete
,我们是否只需要一个短语列表?
[
"p1",
"p22",
"p3"
]
suggest
和doc
的关联我们可以得到什么?suggest
输入p22
。当我要求autocomplete
的{{1}}时,我得到两个p2
。
有没有办法解决这个问题?答案 0 :(得分:0)
除了将建议存储在文档本身内部的completion
字段中之外,没有其他方法可以存储建议。这样可以为您提供最大的灵活性,因为即使两个文档有相同或相似的建议,如果您认为有必要,也可以给予另一个建议更高的权重。
如果您有多个具有相同建议的文档,则可以利用skip_duplicates
设置,ES会从响应中过滤出重复的建议。