Как я могу использовать Elasticsearch или другую поисковую систему?

108
7

Я хочу знать, какая поисковая система лучше всего подходит для следующего использования?

У нас есть приложение, которое сканирует рекламные объявления с разных платформ. Пользователи могут добавлять searches, используя keyword и другие атрибуты фильтров (цена, местоположение и т.д.). Когда мы получаем новое объявление, мы хотим найти все searches, соответствующие названию объявления.

Скажем, у вас есть объявление со следующим названием:

I want to sale Iphone 7 plus, 16GB, black, 9/10 и использовать этот заголовок для запроса коллекции запросов.

Теперь скажем, что у вас есть этот поиск со следующими ключевыми словами:

Iphone 7 16GB Iphone 8 plus Iphone 7 black 32GB Iphone 7

Основная цель - сопоставить только поисковые запросы: 1 и 4. Потому что у 2 и 3 есть слова, которые не найдены в заголовке advert.

спросил(а) 2021-01-25T14:02:32+03:00 5 месяцев назад
1
Решение
64

Независимо от поисковой системы, которую вы будете использовать для этого (Algolia, Elastic...), все они позволят вам сделать такой ограничительный запрос.

Для Elasticsearch, вы будете использовать match пункт с and operator и основной стандарт анализатор будет работать.

В Elasticsearch также есть функция, позволяющая хранить запросы (например, ваши пользовательские ключевые слова) и бросать в них документы (объявление), чтобы получить список запросов, которые соответствуют. Это называется Перколятор.

ответил(а) 2021-01-25T14:02:32+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема