自动完成弹性搜索

时间:2019-03-02 18:07:59

标签: elasticsearch

我正在跟着Elasticsearch的完成建议here教程。开始很容易。但是我无法完成一个多字的补全。在示例中,单个不完整的单词会产生很好的结果,例如

"Nir"-> "options":[{"text":"Nevermind Nirvana..."

"Nev"-> "options":[{"text":"Nevermind Nirvana..."

但是以下操作失败:

"Nirvana Nev"-> Nothing!

"Nevermind Nir"-> Nothing!

我可以通过填充组合选项来使它正常工作

curl -X PUT "localhost:9200/music/_doc/1?refresh" -H 'Content-Type: application/json' -d'
{
    "suggest" : {
        "input": [ "Nevermind", "Nirvana", "Nirvana Nevermind", "Nevermind Nirvana" ],
        "weight" : 34
    },
    "title" : "Nevermind by Nirvana"
}
'

但是这种方法很快会导致大量文本变体添加到输入中。

必须有更好的方法吗?

0 个答案:

没有答案