我一直在努力寻找一种实现弹性搜索自动完成的方法。 我的要求是这样的,在我的索引中我有字段a,b,c,d
我想按顺序显示前 5 个搜索建议 (一、二、三) d
我使用的是Nest 7.17, 我尝试使用多重匹配查询、术语建议,但没有一个能按我想要的方式工作
所以我读到了关于完成建议以及如何增加输入的权重,但目前我正在努力解决两件事
问题1:我想要一个完成字段,其中有多个字段值 是吗?
答案:您可以将多个值分配为数组 字段 = [“Alphabet Inc”、“Google”、“Youtube”、“Playstore”]
问题2:我正在尝试找到一种方法来自动将其添加到索引中? 答:只有一个权重字段可以增加相关性/分数。您需要创建一个函数,或者您需要创建一个公式,例如 a、b、c、d。
if a:
weight = 4
if b:
weight = 3
if c:
weight = 2
if d:
weight = 1
这篇文章可能对您有帮助。 https://taranjeet.medium.com/elasticsearch-using-completion-suggester-to-build-autocomplete-e9c120cf6d87