क्या आपने यह देखने के लिए पाठ खोज की कोशिश की कि क्या यह सही ढंग से व्यवहार नहीं करता है? यह मेरे लिए MongoDB 2.6.7 पर अपेक्षित रूप से काम करता है:
> db.test.drop()
> db.test.insert({ "t" : "I'm on time, not late or delayed" })
> db.test.insert({ "t" : "I'm either late or delayed" })
> db.test.insert({ "t" : "Time flies like a banana" })
> db.test.ensureIndex({ "t" : "text" })
> db.test.find({ "$text" : { "$search" : "time late delay" } }, { "_id" : 0 })
{ "t" : "I'm on time, not late or delayed" }
{ "t" : "Time flies like a banana" }
{ "t" : "I'm either late or delayed" }
> db.test.find({ "$text" : { "$search" : "late delay" } }, { "_id" : 0 })
{ "t" : "I'm on time, not late or delayed" }
{ "t" : "I'm either late or delayed" }
> db.test.find({ "$text" : { "$search" : "late delay \"on time\"" } }, { "_id" : 0 })
{ "t" : "I'm on time, not late or delayed" }
terms
में "समय" क्यों है? व्याख्या में सरणी? क्योंकि अगर वाक्यांश "on time"
एक दस्तावेज़ में होता है, शब्द time
ये भी चाहिए। MongoDB उस हद तक टेक्स्ट इंडेक्स का उपयोग करता है जो वाक्यांश का पता लगाने में मदद कर सकता है और फिर यह देखने के लिए इंडेक्स परिणामों की जांच करेगा कि कौन सा वास्तव में पूर्ण वाक्यांश से मेल खाता है, न कि केवल वाक्यांश में।