Я следую учебнику для подсказки завершения эластичного поиска здесь .Это довольно легко начать.Но я не могу получить завершение для более чем одного слова.В примере отдельные неполные слова дают отличные результаты, например,
"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"
}
'
Но этот подход вскоре приведет к массивным вариантам текста, добавляемым к вводу.
Должен быть лучший способ?