Comments 9
Подскажите elastic такое научился делать в 2021 ?
Делаю автокомплит, ищу по массиву тэгов в одном документе. Как находится подходящие в массиве под запрос выводятся только они, остальные пропускаются , например:
Не понятно, completion поле вполне может быть массивом.
Главное чтобы в маппинг его тип был именно completion.
Типа такого:
PUT sug_index/_mapping
{
"properties": {
"tags": {
"type": "completion"
}
}
}
Документ должен быть
POST sug_index/_doc/3
{
"tags": ["boom", "bom", "don"]
}
И ищем:
GET sug_index/_search
{
"suggest": {
"test": {
"prefix": "do",
"completion": {
"field": "tags"
}
}
}
}
Находим:
....
"options" : [
{
"text" : "don",
....
Но лучше для автокомплита завести отдельное поле, даже если оно будет дублироваться с полем tags.
в том и дело что вы ищите do, но возвращается окромя do неподходящие тэги "boom", bom".
А зачем так делать ? Можно суть проблемы
Я думал крупные компании могут себе позволить разработать нормальный движок под свои задачи
Sign up to leave a comment.
ElasticSearch — как мы делали свою речевую аналитику