Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Tạo text index cho tìm kiếm toàn văn trong MongoDB

Tìm kiếm văn bản với text index và $text

MongoDB hỗ trợ tìm kiếm toàn văn (full-text search) bằng cách tạo text index và dùng toán tử $text với $search.

Tạo dữ liệu

> db.demo331.insertOne({"Words": "This is a MySQL"});
> db.demo331.insertOne({"Words": "THIS is a MongoDB"});

Tạo text index

> db.demo331.createIndex({ Words: "text" });

Tìm kiếm "MySQL"

> db.demo331.find({ $text: { $search: "MySQL" } });

Kết quả

{ "_id": ObjectId("..."), "Words": "This is a MySQL" }

Tính năng nâng cao:

  • Tìm cụm từ chính xác: $search: "\"MySQL database\""
  • Loại trừ từ: $search: "MySQL -MongoDB"
  • Sắp xếp theo độ liên quan: { score: { $meta: "textScore" } }
  • Hiển thị điểm: { score: { $meta: "textScore" } } trong projection

Lưu ý: Chỉ được tạo một text index trên một collection.