Какой лучший способ сделать поиск в базе данных по среднему стеку - PullRequest
1 голос
/ 02 июня 2019

Я использую mongodb для хранения предметов для аукциона Я хочу включить нечеткий поиск.

Должен ли я запросить 1000 результатов без параметров, а затем использовать библиотеку js, такую ​​как fuse.js

Или я должен полагаться только на mongodb $ regex для выполнения запроса?

1 Ответ

0 голосов
/ 02 июня 2019

mongodb - не лучший выбор для такой проблемы. Доступно множество отличных утилит для поиска текста, наиболее выдающимися из которых в настоящее время являются эластичный поиск. Вы продолжали бы хранить свои данные в mongodb, но сохраняли бы синхронизацию экземпляра эластичного поиска с базой данных mongodb и выполняли поиск с использованием эластичного поиска. Mongoosastic - это хороший способ одновременной записи данных, или же можно использовать Transporter, чтобы отодвинуть синхронизацию от потока постоянных данных вашей базы данных.

Монгоосастический пример: https://blog.cloudboost.io/sync-mongo-with-elastic-and-save-months-of-development-time-and-cost-d281e0ca8fe4

Некоторые другие способы синхронизации, включая Transporter: https://code.likeagirl.io/5-different-ways-to-synchronize-data-from-mongodb-to-elasticsearch-d8456b83d44f

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...