Vì đây là một truy vấn tìm kiếm văn bản mà chúng ta đang nói đến nên hình thức tối ưu nhất là sau:
db.collection.aggregate([
{
"$match": {
"$text": { "$search": "cake tea" }
}
},
{ "$sort": { "score": { "$meta": "textScore" } } },
{ "$limit": skip + limit },
{ "$skip": skip }
])
Sự hợp lý về dự trữ bộ nhớ từ các kết quả "sắp xếp" hàng đầu sẽ chỉ hoạt động trong "giới hạn" của chính nó và điều này sẽ không tối ưu cho bất kỳ thứ gì ngoài một vài "trang" dữ liệu hợp lý.
Ngoài mức tiêu thụ trí nhớ hợp lý, giai đoạn bổ sung có thể sẽ có tác động tiêu cực hơn là tích cực.
Đây thực sự là những hạn chế thực tế của khả năng tìm kiếm văn bản có sẵn cho MongoDB ở dạng hiện tại. Nhưng đối với bất kỳ thứ gì chi tiết hơn và đòi hỏi hiệu suất cao hơn, thì cũng giống như trường hợp của nhiều giải pháp SQL "toàn văn", bạn nên sử dụng giải pháp tìm kiếm văn bản "có mục đích" bên ngoài.