diff --git a/components/PlatformIcon.js b/components/PlatformIcon.js index b3196009..fcde2ce6 100644 --- a/components/PlatformIcon.js +++ b/components/PlatformIcon.js @@ -46,6 +46,7 @@ import varnishIcon from "@liara/platformicons/glass/png/varnish.png"; import apacheanswerIcon from "@liara/platformicons/glass/png/apache.png"; import nocodbIcon from "@liara/platformicons/glass/png/nocodb.png"; import chromaIcon from "@liara/platformicons/glass/png/chroma.png"; +import meilisearchIcon from "../public/static/platforms/meilisearch.png"; import seqIcon from "@liara/platformicons/glass/png/seq.png"; import yiiIcon from "@liara/platformicons/glass/png/yii.png"; @@ -133,6 +134,7 @@ const types = [ { logo: apacheanswerIcon, alt: "apacheanswer" }, { logo: nocodbIcon, alt: "nocodb" }, { logo: chromaIcon, alt: "chroma" }, + { logo: meilisearchIcon, alt: "meilisearch" }, // Instructions { logo: goIcon, alt: "go" }, diff --git a/components/Sidebar/index.js b/components/Sidebar/index.js index 6a431590..0025f881 100644 --- a/components/Sidebar/index.js +++ b/components/Sidebar/index.js @@ -1237,6 +1237,12 @@ const Sidebar = ({ searchOpen, setSearchOpen }) => { Chroma +
  • + + + MeiliSearch + +
  • diff --git a/pages/index.js b/pages/index.js index 837d3b4f..1b981507 100644 --- a/pages/index.js +++ b/pages/index.js @@ -251,6 +251,11 @@ const DATA_SECTIONS = { title: "Chroma", href: "/one-click-apps/chroma", }, + { + platform: "meilisearch", + title: "Meilisearch", + href: "/one-click-apps/meilisearch", + }, ], }; diff --git a/pages/one-click-apps/meilisearch.js b/pages/one-click-apps/meilisearch.js new file mode 100644 index 00000000..5c667627 --- /dev/null +++ b/pages/one-click-apps/meilisearch.js @@ -0,0 +1,140 @@ +import Head from "next/head"; +import Link from "next/link"; +import Notice from "../../components/Notice"; +import Layout from "../../components/Layout"; +import PlatformIcon from "../../components/PlatformIcon"; +import ZoomableImage from "../../components/ZoomableImage"; +import Highlight from "react-highlight"; + +export default () => ( + + + مستندات نصب و راه‌اندازی Meilisearch - لیارا + +
    + +
    +

    موتور جستجو Meilisearch

    + (Meilisearch Search Engine) +
    +
    + +

    + + Meilisearch + {" "} + یک موتور جستجو متن‌باز و قابل‌تنظیم است که برای ایجاد سیستم‌های جستجوی + سریع و دقیق در برنامه‌ها و وب‌سایت‌ها استفاده می‌شود. این ابزار، به عنوان + یک جایگزین مناسب برای Elasticsearch یا Algolia شناخته می‌شود و قابلیت‌هایی + مانند پشتیبانی از جستجوهای تصویری، پشتیبانی از زبان‌های مختلف، جستجوی متن + کامل، پشتیبانی از نوع داده‌های مختلف و ... را فراهم می‌کند. +

    + +

    🚀 راه‌اندازی

    + +

    + در صورتی که تمایلی به خواندن آموزش متنی ندارید می‌توانید ویدیوی آموزشی زیر + ‌را مشاهده کنید. +

    + + + +

    + برای راه‌اندازی برنامه‌ی آماده Meilisearch باید در بخش{" "} + + برنامه‌های + {" "} + کنسول لیارا بر روی دکمه‌ی ایجاد برنامه کلیک کرده و در + صفحه‌ی باز شده وارد بخش برنامه‌های آماده شوید. سپس برنامه‌ی Meilisearch را + انتخاب و یک شناسه‌ی یکتا برای برنامه‌ی خود درنظر بگیرید. در آخر پس از + انتخاب شبکه خصوصی و پلن، بر روی دکمه‌ی ایجاد برنامه کلیک + کنید. +

    + +

    متغیر MEILI_MASTER_KEY

    +

    + پس از ساخته شدن برنامه Meilisearch یک token به نام{" "} + MEILI_MASTER_KEY برای برنامه، ایجاد می‌شود و + شما می‌توانید در بخش تنظیمات، متغیرها به این token دسترسی + داشته باشید و حتی مقدار آن را تغییر دهید. پس از تغییر مقدار، ممکن است + برنامه یک‌بار ری‌استارت شود. +

    + + +

    + با استفاده از این توکن، می‌توانید برنامه خود را به Meilisearch متصل کنید، + در ادامه، قطعه کدی برای اتصال به Meilisearch در زبان برنامه‌نویسی پایتون، + آورده شده است: +

    + + {`from meilisearch.client import Client + +client = Client('your-meilisearch-address', 'meili-master-key') + +index = client.index('books') + +documents = [ + {'id': 1, 'title': 'Harry Potter', 'author': 'J.K. Rowling'}, + {'id': 2, 'title': 'Lord of the Rings', 'author': 'J.R.R. Tolkien'}, + # Add more documents as needed +] + +index.add_documents(documents) + + +result = index.search('Harry Potter') +for hit in result['hits']: + print(hit) +`} + +

    + در کد فوق، باید به جای{" "} + your-meilisearch-address و{" "} + meili-master-key به ترتیب آدرس کامل + Meilisearch و مقدار MEILI_MASTER_KEY را وارد + کنید. +

    + +

    🎯 توضیحات و نکات تکمیلی

    + +

    تغییر نسخه‌ی برنامه مستقر شده

    +

    + برخی مواقع لازم شده که نسخه برنامه‌ی آماده‌ای که مستقر کردیم رو تغییر + بدیم. برای مثال، نسخه جدیدی از آن برنامه منتشر شده و ما می‌خواهیم از آن + استفاده بکنیم. نکته‌ای که باید قبل تغییر نسخه برنامه‌مان در نظر داشته + باشیم، این است که آن نسخه با لیارا سازگاری داشته باشد و در صورتی که لازم + باشد از دیسک‌ها برای مواردی همچون تغییرات در برنامه یا نگهداری اطلاعات‌مان + استفاده بکنیم. یا حتی لازم باشد یک سری متغیر‌هایی در برنامه‌مان تنظیم + کنیم. در اینجا شما می‌تونید یک نمونه ساده از تغییر نسخه را مشاهده کنید. + برای شروع لازم هست ابتدا در سیستم لوکال فایلی تحت عنوان{" "} + liara.json + ایجاد کنید و مقادیر زیر رو در اون قرار بدید: +

    + + {`{ + "image": "getmeili/meilisearch:", + "port": 7700, + "app": "", + "disks": [ + { + "name": "data", + "mountTo": "/meili_data" + } + ] +}`} + +

    + در اینجا مقدار app، برابر هست با نام برنامه‌ای که در لیارا ایجاد کردید و + مقدار image، برابر هست نام image برنامه‌تان. در قسمت port، پورتی که + برنامه‌تان بر روی آن اجرا می‌شود و در قسمت disks، قرار داده شده است نام + دیسک‌هایی که به صورت پیش‌فرض برای برنامه‌تان نیاز هست. در نهایت با{" "} + liara-cli و سپس دستور زیر برنامه‌تان مستقر + کنید: +

    + {`liara deploy`} +
    +); diff --git a/public/static/platforms/meilisearch.png b/public/static/platforms/meilisearch.png new file mode 100644 index 00000000..0fda98eb Binary files /dev/null and b/public/static/platforms/meilisearch.png differ