algoliasearch کتابخانه رسمی جاوااسکریپت برای ارتباط با API سرویس جستجوی Algolia است. باهاش می تونی توی سایت یا اپ وب خودت جستجوی سریع بزنی و رکوردهات رو توی ایندکس مدیریت کنی. مجوزش MIT است و هم توی مرورگر کار می کنه و هم توی Node.js.
نسخه رسمی و بدون تغییر، از منبع رسمی با مجوز MIT؛ هش هر فایل با منبع بررسی شده است.
algoliasearch کلاینت جاوااسکریپت رسمی تیم Algolia برای صدا زدن API این سرویس جستجوئه. یعنی خودش موتور جستجو نیست و فقط پلی بین کد تو و سرویس میزبانی شده Algolia می سازه. پس برای استفاده ازش یه حساب کاربری، یه Application ID و چند کلید API لازم داری. بدون این ها فقط نصب کتابخانه هیچ نتیجه ای نمی ده.
مشکلی که حل می کنه آشناست. جستجوی پیش فرض خیلی از سایت ها، مثلاً یه فروشگاه وردپرسی با چند هزار محصول، اغلب کند و با غلط تایپی کنار نمی آد. کاربر یه حرف رو اشتباه می زنه و نتیجه ای نمی بینه. با Algolia داده هات رو توی ایندکس می ریزی و صفحه تقریباً هم زمان با تایپ کاربر نتیجه می گیره. فقط کیفیت نتیجه برای متن فارسی به داده و تنظیمات ایندکس بستگی داره، پس قبل از تصمیم نهایی با محتوای واقعی خودت تستش کن.
این کتابخانه به درد توسعه دهنده هایی می خوره که می خوان جستجوی سریع رو توی قالب، افزونه یا اپ وب خودشون بسازن. یه نکته امنیتی مهم هم هست: توی صفحه فقط کلید مخصوص جستجو (Search-Only) رو بذار. کلید Admin باید فقط سمت سرور بمونه، چون با اون می شه ایندکس رو تغییر داد یا پاک کرد. اگه رابط جستجوی آماده می خوای، Algolia برای این کار کتابخانه های جدا هم داره. این بسته فقط لایه ارتباط با API رو پوشش می ده.
جاهایی هم هست که انتخاب خوبی نیست. Algolia یه سرویس خارجیه و بسته به شرایط شبکه و محدودیت ها ممکنه دسترسی به API توی ایران پایدار نباشه. اگه سایتت باید حتماً روی زیرساخت داخلی و مستقل کار کنه، یه موتور جستجوی self-hosted مثل Meilisearch یا Typesense رو هم بررسی کن. یه چیز دیگه هم هست: نسخه های اصلی این کتابخانه توی نحوه نوشتن کد فرق دارن، پس مستندات رو مطابق نسخه ای که استفاده می کنی بخون.
نسخه های رسمی و بدون تغییر algoliasearch توی مخزن داخلی ما هم در دسترسه. برای روزهایی که اینترنت بین الملل قطع یا کند می شه، می تونی از همین جا دانلودش کنی تا کار پروژه ات متوقف نشه. فقط یادت باشه خود سرویس Algolia همچنان به دسترسی شبکه نیاز داره.
راهنمای استفاده
اگه می خوای سریع توی یه صفحه امتحانش کنی، از کد آماده پایین همین صفحه استفاده کن. اگه پروژه ات با npm و باندلر کار می کنه، بسته رو با npm نصب کن و از همون جا import کن. مراحل کلی اینه:
توی Algolia یه حساب بساز و یه اپلیکیشن تعریف کن. از بخش کلیدها، Application ID و کلید Search-Only رو بردار.
کتابخانه رو یا با کد آماده پایین همین صفحه به صفحه اضافه کن، یا با npm نصبش کن.
توی کد صفحه یه کلاینت با Application ID و کلید Search-Only بساز.
داده هات رو از سمت سرور و با کلید Admin توی یه ایندکس بریز و اسم ایندکس رو یادداشت کن.
از صفحه، با اسم ایندکس و عبارت جستجو درخواست بزن و نتیجه ها رو توی HTML نشون بده.
قبل از انتشار روی سایت اصلی، توی تب Network مرورگر چک کن درخواست ها بدون خطا جواب می گیرن. هیچ وقت کلید Admin رو توی کد سمت مرورگر نذار. اگه از وردپرس استفاده می کنی، ایندکس کردن محصولات و نوشته ها معمولاً از سمت سرور و با افزونه یا اسکریپت جدا انجام می شه و این کتابخانه بیشتر به کار بخش جستجوی صفحه می خوره. یادت نره مستندات رو مطابق نسخه ای که برداشتی بخونی.
نشانی مستقیم فایل اصلی 3.22.1https://mirror.wbweb.ir/npm/algoliasearch@3.22.1/dist/algoliasearch.angular.min.js
پرسشهای رایج
algoliasearch کلاینت رسمی جاوااسکریپت برای سرویس جستجوی Algolia است. با اون از مرورگر یا Node.js می تونی به API وصل بشی و جستجو بزنی. نوشتن روی ایندکس هم باید از سمت سرور و با کلید Admin انجام بشه. خودش موتور جستجو نیست و برای کار کردن به حساب Algolia و کلیدهای API نیاز داره.
خود کتابخانه با مجوز MIT منتشر شده و استفاده ازش آزاده. اما سرویس Algolia که پشتش کار می کنه شرایط و پلن های خودش رو داره. قیمت و محدودیت ها ممکنه عوض بشن، پس قبل از تصمیم، صفحه پلن های رسمی Algolia رو چک کن و ببین به درد پروژه ات می خوره یا نه.
نه. هر چی توی کد صفحه باشه برای همه قابل دیدنه و هر کسی می تونه ببینتش. با کلید Admin می شه ایندکس رو تغییر داد یا پاک کرد، پس لو رفتنش یعنی دادن کنترل داده هات به یه غریبه. توی مرورگر فقط کلید Search-Only بذار و نوشتن روی ایندکس رو از سمت سرور انجام بده.
خود کتابخانه رو می تونی از مخزن ما برداری و استفاده کنی. اما درخواست ها به سرویس خارجی Algolia می رن و پایداری اون به شرایط شبکه و محدودیت های روز بستگی داره. قبل از استفاده توی پروژه مهم، توی محیط واقعی خودت تستش کن و ببین جواب ها پایدار می رسن یا نه.
algoliasearch فقط لایه ارتباط با API است: درخواست می فرسته و جواب می گیره. InstantSearch کتابخانه جداگانه ای برای ساخت رابط جستجو با جعبه جستجو، فیلتر و فهرست نتایجه و معمولاً روی همین کلاینت سوار می شه. اگه رابط آماده می خوای سراغ اون برو، اگه کنترل کامل می خوای خود کلاینت کافیه.
prebid-universal-creative یه بسته جاوااسکریپتیه که تبلیغ برنده رو توی سایت هایی با Prebid و هدر بیدینگ نشون می ده. این کد توی کریتیو اد سرور قرار می گیره و بعد از تموم شدن مزایده، تبلیغ رو توی جایگاه نشون می ده. مجوزش Apache هست و نسخه رسمی ش توی مخزن ما موجوده.
workbox-cdn یه بسته آماده از کتابخونه Workbox گوگله که بدون ابزار build و فقط با بارگذاری یه اسکریپت می تونی توی سایتت استفاده کنی. با Workbox سرویس ورکر رو راحت تر می نویسی، کش و حالت آفلاین رو مدیریت می کنی و بازدیدهای بعدی سایتت سریع تر باز می شن.
mathjax یه کتابخانه متن باز جاوااسکریپته که فرمول های ریاضی رو توی مرورگر نمایش می ده. فرمولی که با LaTeX، MathML یا AsciiMath نوشتی رو به متن تیز، قابل انتخاب و قابل دسترس تبدیل می کنه، پس لازم نیست از فرمول ها عکس بگیری. مجوزش Apache هست و بسته npm هم داره.
sweetalert2 یه کتابخانه جاوااسکریپته که به جای پنجره های پیش فرض مرورگر، یعنی alert و confirm و prompt، پنجره های پیام، تایید و ورودی تمیز و ریسپانسیو نشون می ده. ظاهرش قابل تنظیمه و طبق معرفی رسمی از دسترس پذیری WAI-ARIA پشتیبانی می کنه. سازنده اش Limon Monte و مجوزش MIT هست.
search-insights یه کتابخانه جاوااسکریپت از Algolia با مجوز MIT هست که کلیک، تبدیل و بازدید کاربرها روی نتیجه های جستجو رو به Insights API خود Algolia گزارش می ده. اگه جستجوی سایتت با Algolia کار می کنه، با این بسته می تونی رفتار کاربرها رو ثبت کنی و کیفیت جستجو رو بهتر کنی.
js-cookie یه کتابخانه جاوااسکریپت ساده و خیلی سبکه که کار با کوکی های مرورگر رو راحت می کنه. با چند تا متد کوتاه می تونی کوکی بسازی، بخونی و پاک کنی و لازم نیست با رشته خام document.cookie سروکله بزنی. مجوزش MIT هست و به کتابخانه دیگه ای وابسته نیست.
آخرین نسخه
۳.۰.۸
نسخهها
۸
بهروزرسانی
چیزی که لازم دارید اینجا نیست؟
نام کتابخانه، افزونه یا قالب را بفرستید؛ پس از بررسی، نسخههای رسمی آن به مخزن اضافه میشود.