MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tìm kiếm toàn văn trong MongoDB - đối sánh từ và cụm từ chính xác

Bạn đã thử tìm kiếm văn bản để xem nó có hoạt động không chính xác không? Nó hoạt động như mong đợi đối với tôi trên 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" }

Tại sao "thời gian" trong terms mảng trong giải thích? Vì nếu cụm từ "on time" xuất hiện trong một tài liệu, thuật ngữ time cũng phải. MongoDB sử dụng chỉ mục văn bản trong phạm vi có thể để giúp định vị cụm từ và sau đó sẽ kiểm tra kết quả lập chỉ mục để xem cái nào thực sự khớp với cụm từ đầy đủ chứ không chỉ các thuật ngữ trong cụm từ.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. update_attributes trả về luôn đúng, ngay cả khi nested_attributes không hợp lệ

  2. Hiệu suất bị suy giảm nghiêm trọng với các điều kiện tham gia khác trong $ lookup (sử dụng đường ống dẫn)

  3. truyền dữ liệu giữa máy chủ và máy khách (node.js + mongodb)

  4. Sắp xếp mongodb theo thuật toán xếp hạng reddit

  5. Xử lý các thay đổi giản đồ trong Mongoose