جستجوی متنی در Laravel با MongoDB Search
MongoDB Search یه موتور جستجوی full-text مبتنی بر Lucene هست که مستقیم توی MongoDB تعبیه شده و نیازی به سرویس جداگانه نداره. این قابلیت از الگوریتم BM25 برای رتبهبندی نتایج بر اساس ربط استفاده میکنه و از fuzzy matching و autocomplete هم پشتیبانی میکنه. در این مقاله نشون داده میشه چطور توی یه پروژه Laravel با دیتابیس فیلمها یه ایندکس جستجو بسازیم و از aggregation pipeline برای اجرای کوئری استفاده کنیم.
این محتوا بهصورت خودکار با استفاده از هوش مصنوعی تولید شده است. بررسی نهایی آن پیش از استفاده توصیه میشود و مسئولیت استفاده از آن بهعهده کاربر است. برای مطالعه متن اصلی خبر،اینجا را کلیک کنید
خلاصهٔ کاملتر
وقتی توی یه اپ میخوای قابلیت جستجو پیاده کنی، اولین چیزی که به ذهن میرسه شاید یه LIKE ساده یا regex باشه. ولی این روشها مشکل دارن: regex معمولاً یه full index scan انجام میده و با بزرگتر شدن دیتاست، کندتر میشه. حتی ایندکس متنی قدیمی MongoDB (یعنی $text) هم فقط یه الگوریتم ابتدایی Term Frequency داره و نتایج رو بر اساس ربط واقعی مرتب نمیکنه.
MongoDB Search که روی موتور Lucene ساخته شده، این مشکل رو حل میکنه. Lucene همون موتوری هست که پایه خیلی از موتورهای جستجوی بزرگ رو تشکیل میده. این قابلیت از سپتامبر ۲۰۲۵ علاوه بر Atlas، توی نسخه Community رایگان MongoDB هم در دسترسه و نیازی به سرویس جداگانه یا API جدید نیست — همون connection معمولی MongoDB کافیه.
خلاصهٔ کاملتر این خبر رو میتونی با داشتن اشتراک ویژه بخونی!
اشتراک رایگان
- دسترسی به خلاصهٔ کوتاه خبر
- دسترسی به خلاصهٔ کامل/اختصاصی خبر + نکات کلیدی
- ارسال اخبار مورد علاقه به ایمیل شما
- ارسال اخبار مورد علاقه به تلگرام شما
- عدم نمایش تبلیغات
اشتراک ویژه
- دسترسی به خلاصهٔ کوتاه خبر
- دسترسی به خلاصهٔ کامل/اختصاصی خبر + نکات کلیدی
- ارسال اخبار مورد علاقه به ایمیل شما
- ارسال اخبار مورد علاقه به تلگرام شما
- عدم نمایش تبلیغات




