ال 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. حل FTS من Mongo ليس الإنتاج جاهز (انظر التحذير). لدي أيضًا خبرة محدودة مع Elasticsearch لكن وجدت أنها رائعة للغاية.
إذا اخترت الذهاب إلى مسار Elasticsearch وما زلت ترغب في استخدام Mongo ، فهناك بعض الخيارات اللائقة:
- أ نهر, الذي يتطلب تشغيل مجموعة النسخة المتماثلةحتى يتمكن النهر من مراقبة Oplog (انظر ويكي)
- mongoosastic, ، الذي يتوصيل بشكل جيد إلى mongoose للاستعلام والحفاظ على متزامن مع Mongo من خلال الكتابة إلى كل من Mongo و ES.
تحديثمنذ 2.6 لدى Mongo ، تم تمكين البحث عن النص بشكل افتراضي.