موتور جست‌وجو

Meilisearch مدیریت‌شده برای جست‌وجوی فوری

جست‌وجوی هنگام تایپ برای سایت و فروشگاه، با تحمل غلط تایپی و فیلتر؛ بدون تنظیم analyzer و ایندکس پیچیده.

نسخه‌ها
1.49 (پیش‌فرض) و 1.48
API
REST روی 7700
سرعت
پاسخ زیر ۵۰ میلی‌ثانیه
کاربرد
جست‌وجوی سایت و فروشگاه
لوگوی Meilisearch

جست‌وجویی که کاربر حس می‌کند

Meilisearch برای جست‌وجوی هنگام تایپ ساخته شده است: نتیجه‌ها با هر حرف به‌روز می‌شوند، غلط‌های تایپی بخشیده می‌شوند و فیلتر و facet بدون تنظیم پیچیده کار می‌کنند.

اسناد JSON را به ایندکس بفرستید و از SDK رسمی جست‌وجو کنید. برای جست‌وجوی محصول، مقاله و مستندات سایت، معمولاً تنها چیزی است که لازم دارید.

مناسب برای

  • جست‌وجوی محصول در فروشگاه
  • جست‌وجوی مقاله و مستندات
  • جست‌وجوی هنگام تایپ در اپ
  • فیلتر و facet برای کاتالوگ

از ساخت تا اتصال

  1. ساخت

    نود با نسخه‌ی پیش‌فرض ساخته می‌شود.

    --type meilisearch
  2. اطلاعات اتصال

    میزبان و کلید اصلی را بگیرید و به اپ بدهید.

    env set MEILISEARCH_HOST=…
  3. استفاده

    اسناد را اضافه و جست‌وجو کنید.

    :7700

خروجی ساخت سرویس

sakoocloud db
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 یا از کنسول.

terminal
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("کفش");

رانتایم‌هایی که معمولاً به آن وصل می‌شوند

خطاهای رایج

403 Forbidden

علتکلید API ارسال نشده یا کلید جست‌وجو برای کار ادمین استفاده شده است.

راه‌حلبرای افزودن اسناد کلید اصلی را استفاده کنید و در مرورگر فقط کلید جست‌وجو را بدهید.

Index not found

علتایندکس هنوز ساخته نشده است.

راه‌حلبا اولین addDocuments ایندکس ساخته می‌شود؛ قبل از جست‌وجو اسناد را اضافه کنید.

اتصال روی پورت اشتباه

علتکلاینت به پورتی غیر از 7700 وصل می‌شود.

راه‌حلREST API روی 7700 است.

پرسش‌های متداول

جست‌وجوی فارسی خوب کار می‌کند؟

بله. Meilisearch متن یونیکد را پشتیبانی می‌کند؛ برای نتیجه‌ی بهتر، حروف عربی و فارسی را پیش از ایندکس یکسان کنید.

کلید را در مرورگر بگذارم؟

فقط کلید جست‌وجو (search key). کلید اصلی را در سرور نگه دارید.

Meilisearch یا Elasticsearch؟

برای جست‌وجوی سایت و اپ Meilisearch ساده‌تر است؛ برای تحلیل و aggregation پیچیده Elasticsearch.

جزئیات بیشتر در راهنمای Meilisearch در مستندات و مرجع CLI.

سریع‌ترین مسیر از کد تا انتشار.

ابتدا ابزار خط فرمان را نصب کنید، سپس همین‌جا امتحان کنید. (بنویسید، یا یکی از پیشنهادهای پایین ترمینال را بزنید)

~/projects/my-app
امتحان کنید