MongoDB

MongoDB — ایندکس گذاری/جستجو (Indexing/Search)

آخرین بروزرسانی: 1404/08/20

ایندکس گذاری/جستجو (Indexing/Search)

در اطلس مونگو، «جستجوی Atlas Search» یک موتور متن کامل است. این موتور با آپاچی لوسین کار می کند. با آن، اسناد را مثل گوگل جستجو می کنی. اول ایندکس بساز. بعد با مرحله $search در پایپ لاین بگرد.

ساخت ایندکس در Atlas

  1. در داشبورد Atlas، روی خوشه و تب Search کلیک کن.
  2. Create Search Index را بزن.
  3. ویرایشگر تصویری را انتخاب کن و ادامه بده.
  4. نام ایندکس، دیتابیس و کالکشن را انتخاب کن.
  5. ایجاد را بزن و صبر کن تا کامل شود.

نکته: اگر نام ایندکس را «default» بگذاری، معمولاً نیاز به تعیین نام در $search نداری.

اجرای جستجو با $search

db.movies.aggregate([
  {
    $search: {
      index: "default",
      text: {
        query: "star wars",
        path: "title"
      }
    }
  },
  {
    $project: {
      title: 1,
      year: 1
    }
  }
])

مشاهده در ادیتور

مرحله اول، فیلم هایی با «star» یا «wars» در title برمی گرداند. سپس فقط فیلدهای title و year نمایش داده می شوند.

نکات کاربردی و ایمنی

  • path را روی فیلدهای متنی درست بگذار.
  • ایندکس باید با ساختار داده ات هماهنگ باشد.
  • در پروژه های بزرگ، فقط فیلدهای لازم را $project کن.

برای ذخیره نتایج نهایی، صفحه $out را ببین. همچنین «جستجوی Atlas Search» را نشانه گذاری کن تا سریع برگردی.

جمع بندی سریع

  • ایندکس بساز، بعد جستجو کن.
  • $search در پایپ لاین اجرا می شود.
  • نام «default» کارت را ساده تر می کند.
  • با $project خروجی را کم حجم نگه دار.