Как я могу использовать Elasticsearch или другую поисковую систему? - PullRequest
0 голосов
/ 07 сентября 2018

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

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

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

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

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

  1. Iphone 7 16GB
  2. Iphone 8 plus
  3. Iphone 7 black 32GB
  4. Iphone 7

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

1 Ответ

0 голосов
/ 07 сентября 2018

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

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

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

...