Computer >> Máy Tính >  >> Lập trình >> MongoDB

Tạo chỉ mục cho tìm kiếm văn bản trong MongoDB


Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo331.insertOne({"Words":"This is a MySQL"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e521c35f8647eb59e562089")
}
> db.demo331.insertOne({"Words":"THIS is a MongoDB"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e521c36f8647eb59e56208a")
}

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find ()−

> db.demo331.find();

Điều này sẽ tạo ra kết quả sau -

{ "_id" : ObjectId("5e521c35f8647eb59e562089"), "Words" : "This is a MySQL" }
{ "_id" : ObjectId("5e521c36f8647eb59e56208a"), "Words" : "THIS is a MongoDB" }

Sau đây là truy vấn để tạo chỉ mục cho tìm kiếm văn bản -

> db.demo331.createIndex( {Words: "text" } );
{
   "createdCollectionAutomatically" : false,
   "numIndexesBefore" : 1,
   "numIndexesAfter" : 2,
   "ok" : 1
}
> db.demo331.find({$text:{$search:"MySQL"}});

Điều này sẽ tạo ra kết quả sau -

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