我正在跟着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"
}
'
但是这种方法很快会导致大量文本变体添加到输入中。
必须有更好的方法吗?