تکنولوژی نوین اینترنتی
Laravel Scout یک پکیج رسمی لاراول است که برای جستجو و ایندکس کردن مدلها در دیتابیس استفاده میشود. این پکیج از موتورهای جستجو مانند Algolia، Meilisearch و Elasticsearch پشتیبانی میکند و به شما این امکان را میدهد که جستجوهای پیچیده و سریعتری را در اپلیکیشنهای لاراولی خود پیادهسازی کنید.
جستجوی سریع: Scout به شما این امکان را میدهد که جستجوهایی سریع و مقیاسپذیر انجام دهید. جستجو در حجم بالای دادهها بهراحتی انجام میشود.
یکپارچگی با مدلها: Scout بهطور مستقیم با مدلهای لاراول کار میکند، بنابراین شما میتوانید ویژگیهای جستجو را به راحتی به مدلها اضافه کنید.
پشتیبانی از ایندکس کردن مدلها: شما میتوانید مدلها را ایندکس کرده و سپس جستجو در آنها را از طریق موتور جستجوی انتخابی خود انجام دهید.
سهولت در پیادهسازی: Scout بهطور ویژه برای سادگی طراحی شده است و میتوانید تنها با چند خط کد مدلهای خود را قابل جستجو کنید.
برای نصب Scout ابتدا باید پکیج آن را به پروژه خود اضافه کنید:
پس از نصب پکیج، فایل تنظیمات Scout را با دستور زیر منتشر کنید:
این دستور یک فایل تنظیمات scout.php
در پوشه config
ایجاد میکند که میتوانید موتور جستجوی مورد نظر خود را در آن تنظیم کنید.
در فایل config/scout.php
شما میتوانید موتور جستجو را تنظیم کنید. برای مثال اگر از Algolia استفاده میکنید، باید کلید API و کدهای مربوط به آن را وارد کنید:
برای سایر موتورهای جستجو مانند Meilisearch یا Elasticsearch، باید تنظیمات مربوطه را وارد کنید.
برای اینکه مدلهایتان قابل جستجو شوند، باید ویژگی Searchable
را به مدل خود اضافه کنید. برای مثال اگر یک مدل Post
دارید، آن را به این صورت قابل جستجو کنید:
پس از اعمال ویژگی Searchable
به مدل، میتوانید مدلها را ایندکس کنید. برای این کار از دستور scout:import
استفاده کنید:
این دستور تمام دادههای مدل Post
را در موتور جستجو ایندکس میکند.
برای جستجو در مدلهای ایندکس شده میتوانید از متد search
استفاده کنید. برای مثال برای جستجو در مدل Post
:
این دستور تمام پستهایی را که با عبارت جستجو تطابق دارند باز میگرداند.
زمانی که شما یک مدل جدید ایجاد میکنید یا یک مدل را بهروزرسانی میکنید، دادهها به طور خودکار به ایندکس موتور جستجو افزوده میشود. برای افزودن دستی یک مدل به ایندکس میتوانید از متد updateIndex
استفاده کنید:
همچنین برای حذف مدل از ایندکس:
فیلتر کردن جستجوها: با Scout میتوانید از فیلترهای پیچیده در جستجو استفاده کنید. به عنوان مثال، میتوانید نتایج جستجو را بر اساس شرایط خاص محدود کنید.
جستجوی Full-text: با استفاده از موتور جستجو، Scout امکان جستجوی کامل متن را فراهم میکند، که به شما این امکان را میدهد تا متنی را در تمامی فیلدهای مدل جستجو کنید.
جستجوی آفلاین: در صورتی که به موتور جستجوی آنلاین دسترسی ندارید، میتوانید Scout را برای جستجوی آفلاین نیز پیکربندی کنید.
پشتیبانی از جستجوی فازی: بسیاری از موتورهای جستجو پشتیبانی از جستجوی فازی را فراهم میکنند. این ویژگی به شما این امکان را میدهد که حتی اگر املای جستجو به درستی وارد نشود، نتایج مربوطه را بیابید.
پشتیبانی از دستورات پیچیده جستجو: شما میتوانید از دستورات پیچیدهتری برای جستجو استفاده کنید مانند جستجو بر اساس معیارهای خاص، یا ترتیب دادن نتایج بر اساس معیارهای مختلف.
یکپارچگی کامل با لاراول: Scout بهطور کامل با لاراول یکپارچه شده است، بنابراین استفاده از آن بسیار ساده است و نیازی به تنظیمات پیچیده ندارید.
پشتیبانی از موتورهای جستجوی مختلف: شما میتوانید از موتورهای مختلف مانند Algolia، Elasticsearch، و Meilisearch استفاده کنید.
سهولت در استفاده: با استفاده از ویژگیهای سادهای مانند searchable
و search
، میتوانید جستجوهای پیچیده را به راحتی پیادهسازی کنید.
عملکرد بالا: Scout با موتورهای جستجو مقیاسپذیر مانند Algolia و Elasticsearch عملکرد بالایی ارائه میدهد.
جستجوی کامل متن: Scout از جستجوی کامل متن پشتیبانی میکند که میتوانید جستجو را در تمامی فیلدهای مدل خود انجام دهید.
Laravel Scout ابزاری قدرتمند برای جستجو در مدلها و ایندکس کردن دادهها در اپلیکیشنهای لاراولی است. این پکیج امکان جستجوهای سریع و پیچیده را فراهم میآورد و از موتورهای جستجو مانند Algolia، Meilisearch و Elasticsearch پشتیبانی میکند. Scout با استفاده از PHP به شما این امکان را میدهد که جستجوهایی بدون نیاز به کدنویسی JavaScript پیچیده در اپلیکیشنهای خود داشته باشید.