А mongoose-text-search
плагин работает для меня. Мне пришлось установить textSearchEnabled
к true
. Анкет Я не пробовал это как параметр для запуска, но это сработало после того, как мой экземпляр Mongod уже работал:
use admin
db.runCommand({'setParameter':1,"textSearchEnabled":true})
use <my db>
<my db>.<my colleciton>.ensureIndex({"$**":"text"}) //Beware! "$**" indexes the entire document
Кроме того, вы действительно можете рассмотреть возможность использования Elasticsearch вместо FTS Mongo. Решение Mongo FTS не готово производство (Смотрите предупреждение) У меня также есть ограниченный опыт работы с Elasticsearch, но я нашел его очень впечатляющим.
Если вы решите пойти по маршруту Elasticsearch и все еще хотите использовать Mongo, есть несколько приличных вариантов:
- А река, который требует включения Реплика наборТаким образом, река может контролировать Oplog (см. вики)
- Монгусастичный, который хорошо подключается к Mongoose для запроса и поддерживает ES в синхронизации с Mongo, написав как в Mongo, так и в ES.
ОбновлятьПоскольку 2.6 Mongo имеет текстовый поиск по умолчанию.