جستوجویی که کاربر حس میکند
Meilisearch برای جستوجوی هنگام تایپ ساخته شده است: نتیجهها با هر حرف بهروز میشوند، غلطهای تایپی بخشیده میشوند و فیلتر و facet بدون تنظیم پیچیده کار میکنند.
اسناد JSON را به ایندکس بفرستید و از SDK رسمی جستوجو کنید. برای جستوجوی محصول، مقاله و مستندات سایت، معمولاً تنها چیزی است که لازم دارید.
مناسب برای
- جستوجوی محصول در فروشگاه
- جستوجوی مقاله و مستندات
- جستوجوی هنگام تایپ در اپ
- فیلتر و facet برای کاتالوگ
از ساخت تا اتصال
ساخت
نود با نسخهی پیشفرض ساخته میشود.
--type meilisearchاطلاعات اتصال
میزبان و کلید اصلی را بگیرید و به اپ بدهید.
env set MEILISEARCH_HOST=…استفاده
اسناد را اضافه و جستوجو کنید.
:7700
خروجی ساخت سرویس
sakoocloud db create --name site-search --type meilisearch ✔ Provisioning site-search · db_4n8x2p sakoocloud db credentials db_4n8x2p sakoocloud env set MEILISEARCH_HOST=… MEILISEARCH_KEY=•••• --app my-api
ساخت نود
با CLI یا از کنسول.
sakoocloud db create --name site-search --type meilisearch
تنظیمات
متغیرهایی که تعریف میکنید
اپ و سرویس را در یک پروژه بگذارید، مقدارها را از sakoocloud db credentials بردارید و با sakoocloud env set تعریف کنید. نام متغیرها دلخواه است.
| متغیر پیشنهادی | مقدار |
|---|---|
MEILISEARCH_HOST | آدرس داخلی (پورت 7700) |
MEILISEARCH_KEY | کلید اصلی (master key) |
اتصال از اپ
SDK رسمی Meilisearch میزبان و کلید را میگیرد.
import { MeiliSearch } from "meilisearch";
const meili = new MeiliSearch({
host: `http://${process.env.MEILISEARCH_HOST}:7700`,
apiKey: process.env.MEILISEARCH_KEY,
});
const { hits } = await meili.index("products").search("کفش");
import os, meilisearch
client = meilisearch.Client(
f'http://{os.environ["MEILISEARCH_HOST"]}:7700',
os.environ["MEILISEARCH_KEY"],
)
خطاهای رایج
403 Forbidden
علتکلید API ارسال نشده یا کلید جستوجو برای کار ادمین استفاده شده است.
راهحلبرای افزودن اسناد کلید اصلی را استفاده کنید و در مرورگر فقط کلید جستوجو را بدهید.
Index not found
علتایندکس هنوز ساخته نشده است.
راهحلبا اولین addDocuments ایندکس ساخته میشود؛ قبل از جستوجو اسناد را اضافه کنید.
اتصال روی پورت اشتباه
علتکلاینت به پورتی غیر از 7700 وصل میشود.
راهحلREST API روی 7700 است.
پرسشهای متداول
جستوجوی فارسی خوب کار میکند؟
بله. Meilisearch متن یونیکد را پشتیبانی میکند؛ برای نتیجهی بهتر، حروف عربی و فارسی را پیش از ایندکس یکسان کنید.
کلید را در مرورگر بگذارم؟
فقط کلید جستوجو (search key). کلید اصلی را در سرور نگه دارید.
Meilisearch یا Elasticsearch؟
برای جستوجوی سایت و اپ Meilisearch سادهتر است؛ برای تحلیل و aggregation پیچیده Elasticsearch.
جزئیات بیشتر در راهنمای Meilisearch در مستندات و مرجع CLI.
