Tìm kiếm văn bản được thiết kế để lập chỉ mục các chuỗi dựa trên phỏng đoán ngôn ngữ . Lập chỉ mục văn bản bao gồm hai bước chung: mã hóa (chuyển đổi một chuỗi thành các điều khoản riêng lẻ quan tâm) theo sau là gốc (chuyển đổi từng thuật ngữ thành biểu mẫu gốc để lập chỉ mục dựa trên các quy tắc dành riêng cho ngôn ngữ).
Trong bước mã hóa các ký tự nhất định (ví dụ:các ký hiệu dấu câu như @
) được phân loại là dấu phân tách từ (còn gọi là dấu phân cách ) chứ không phải là đầu vào văn bản và được sử dụng để tách chuỗi ban đầu thành các điều khoản. Ngôn ngữ cụ thể từ dừng
(các từ phổ biến như "the", "is" hoặc "on" trong tiếng Anh) cũng bị loại trừ khỏi chỉ mục văn bản.
Kể từ cụm từ tìm kiếm của bạn là @@@
hoàn toàn bao gồm các dấu phân cách, không có mục nhập tương ứng trong chỉ mục văn bản.
Nếu bạn muốn đối sánh các mẫu chuỗi chung, bạn nên sử dụng biểu thức chính quy hơn là tìm kiếm văn bản. Ví dụ:db.getCollection('TestCollection').find({field2:/@@@/})
. Tuy nhiên, hãy lưu ý những lưu ý về sử dụng chỉ mục cho biểu thức chính quy.