Похожие чаты

Добрый день, что можете посоветовать на тему создания персонализированного поиска?

Надо чтобы при сортировке документы поднимались выше чем больше юзер на них нажимал в приложении.
Из идей только разве что для каждого юзера создавать отдельный индекс и в нем хранить копию его документов + количество нажатий на них, но мне кажется это будет не особо оптимизированным решением

7 ответов

4 просмотра

При поиске документов используя must и/или should эластик инкременирует внутренний скоуп, поэтому получая документы из индекса можно фильтровать по конкретному юзеру, таким образом поиск будет выдавать результат с его учётом, выдавая сперва те документы, которые чаще всего запрашивались.

Dmytro-Приймак Автор вопроса
Andrey Helldar
При поиске документов используя must и/или should ...

Ну так а как решить проблему именно персонализации под каждого юзера отдельно?

Dmytro Приймак
Ну так а как решить проблему именно персонализации...

Эластик бустит документы при их поиске. Если конкретный пользователь ищет документы, то для него эти документы будут иметь приоритетную выдачу. Персонализация реализуется запросом документов для конкретного пользователя используя фильтр.

Dmytro-Приймак Автор вопроса
Andrey Helldar
Эластик бустит документы при их поиске. Если конкр...

Окей, давай чуть глубже в бизнес задачу, есть база с едой 100к+ штук (они все общие), и надо для каждого юзера отдельно бустить ту еду, на которую он нажимал больше всего раз, и вот я не понимаю где лучше хранить эту инфу о том сколько и на кого он нажимал

Dmytro Приймак
Окей, давай чуть глубже в бизнес задачу, есть база...

Понял. С общей базой я не смогу подсказать решение. Есть лишь представление с костылём, но в рамках индивидуальной выдачи, т.е. когда один документ в принципе никогда другому юзеру не выпадет. Здесь я бы отправлял "пустой поиск" передавая ключ boost. Но при выдаче общих данных - хз. Остаётся курить ман и/или ждать здесь тех, кто может подсказать. И ответ на этот вопрос я бы сам даже посмотрел на будущее)

Dmytro-Приймак Автор вопроса

Так и храню в эластике онли поисковую инфу + айдихи, но как мне из базы повлиять на эластик

Dmytro Приймак
Так и храню в эластике онли поисковую инфу + айдих...

У нас в эластике примитивная сортировка, которая вытаскивает 500 результатов, потом мы это шлифуем моделью и уже дальше нарезаем нужную страницу.

Похожие вопросы

Обсуждают сегодня

Карта сайта