@Mr-Governor
Губернирую

Как внедрить полнотекстовый поиск?

Возникла необходимость реализовать подобие CRM системы, в ней должны храниться задачи и данные о абонентах.
Предполагал хранить все данные в postgresql, но как быть с поиском?
Хотелось бы реализовать хороший и качественный поиск, например что бы при вводе поискового запроса, поиск осуществлялся по разным сущностям (задачи и абонент), и по разных их полям (адрес, ФИО, и прочие поля абонента), а так же в задачах (комментарии задачи, описание задачи, и прочее) а так же в других возможных сущностях.

Слышал про elasticsearch, sphinx, apache lucene и прочие движки полнотекстового поиска, но не понимаю как начать их использовать. Нужно ли мне отказываться от postgresql? Или при добавлении данных отправлять в 2 БД приемника? Или репликация postgresql? Или как это реализуется?
Сам бекенд планировал сделать на NestJS (node.js)
  • Вопрос задан
  • 341 просмотр
Решения вопроса 1
2ord
@2ord
Вот предлагаемый порядок для исследования возможностей поиска:
  1. Postgres: full text search
  2. Sphinx Search или форк Manticore Search : можно также подключить к существующей СУБД.
  3. ElasticSearch (если Sphinx не подойдёт по каким-то причинам)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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