MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB $text search में कैसे करें और नहीं

कुछ विकल्प हैं जिनका उपयोग आप टेक्स्ट खोज के साथ उन आवश्यकताओं के अनुरूप कर सकते हैं। निम्नलिखित दस्तावेजों पर विचार करें:

{ "text" : "cake" }
{ "text" : "sale" }
{ "text" : "sale cake" }
{ "text" : "cake sale" }
{ "text" : "dress sale" }
{ "text" : "cake sale monday" }

शब्दों की डिफ़ॉल्ट "सूची" एक या . है समावेशन, लेकिन यदि आप और . नहीं चाहते हैं आप शब्दों को "उद्धरण" शामिल करें:

db.words.find( { "$text": { "$search": "\"cake\" \"sale\"" } },{_id: 0})
{ "text" : "cake sale" }
{ "text" : "sale cake" }
{ "text" : "cake sale monday" }

अगर आप बहिष्कृत करना चाहते हैं एक शब्द तो आप - . के साथ उपसर्ग करते हैं :

db.words.find( { "$text": { "$search": "\"cake\" \"sale\" -monday" } },{_id: 0})
{ "text" : "cake sale" }
{ "text" : "sale cake" }

और यदि आप उसका एक भाग सटीक वाक्यांश . के रूप में चाहते थे तब आप पूरे वाक्यांश को "उद्धरण" करते हैं:

db.words.find( { "$text": { "$search": "\"cake sale\" -monday" } },{_id: 0})
{ "text" : "cake sale" }

स्टेमिंग शब्दों में हालांकि कोई समस्या है, इसलिए:

db.words.find( { "$text": { "$search": "test -testing" } },{_id: 0})

वास्तव में कोई परिणाम नहीं लौटाएगा।

$text . पर दस्तावेज़ देखें उदाहरण के लिए ऑपरेटर। इस समय सभी नहीं हैं, लेकिन यह बेहतर हो रहा है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. कैसे MongoDB डेटाबेस ऑटोमेशन सुरक्षा में सुधार करता है

  2. ई:पैकेज mongodb-org का पता लगाने में असमर्थ

  3. MongoDB बैकअप विकल्पों की समीक्षा

  4. एंबेडेड MongoDB के साथ स्प्रिंग बूट एकीकरण परीक्षण

  5. नेवला अद्यतन/अपर्ट?