Изменить оценку Elasticsearch - PullRequest
0 голосов
/ 14 июля 2020

У меня есть список товаров в моем интернет-магазине. Для каждого продукта я храню список пользователей, которые его купили, и счетчик продаж рядом с каждым, кроме того, я храню метаданные, такие как название продукта и цена.

Я хочу использовать Elasticsearch для поиска для продуктов по их имени (поиск по релевантности), и когда пользователь будет искать конкретный c продукт, он сузится до его контекста и выполнит поиск продукта по имени и даст более высокий балл для продуктов, которые он использовал для покупки в прошлом.

Как лучше всего решить эту проблему в Elasticsearch? (1) Как мне его смоделировать? Я придумал решение хранить все в одном индексе (индекс продукта). Но я не согласен, если это хорошее решение, поскольку не имеет большого смысла хранить все исторические продажи для каждого пользователя как часть каждого продукта. (2) Как изменить функцию оценки на основе истории продаж пользователя.

1 Ответ

0 голосов
/ 14 июля 2020
• 1000 * Если вы ищете элегантное решение, так как поле выше представляет собой метаданные, и нет смысла увеличивать время индекса или время запроса (которое также трудно изменить), тогда вы можете предложить использовать функцию score запрос, который также можно легко изменить и который является очень элегантным и простым в настройке (вы можете включать различные другие метаданные, а также возраст продукта, просмотры и c для дальнейшего повышения релевантности).
...