MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak I i NIE w wyszukiwaniu $text w MongoDB

Istnieje kilka opcji wyszukiwania tekstowego, które odpowiadają tym potrzebom. Rozważ następujące dokumenty:

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

Domyślna „lista” słów to lub włączenie, ale jeśli nie chcesz i włączenie „cytujesz” słowa:

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

Jeśli chcesz wykluczyć słowo, a następnie prefiks - :

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

A jeśli chcesz część tego jako dokładną frazę następnie „cytujesz” całą frazę:

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

Jednak słowa kluczowe mają problem, więc :

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

W rzeczywistości nie zwróciłby wyniku.

Zobacz dokumentację dotyczącą $text operator dla przykładów. W tej chwili nie wszystkie są dostępne, ale jest coraz lepiej.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jednostki używane dla maxdistance i MongoDB?

  2. Pierwsze kroki z MongoDB i Mongoose

  3. Przegląd zarządzania użytkownikami MongoDB

  4. Jaka jest zaleta używania ObjectId zamiast zwykłego String?

  5. ranking rankingowy w mongo z otaczającymi graczami