خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه پیاده سازی عملکرد جستجو در Node.js با استفاده از Algolia API

با استفاده از همان موتور جستجویی که هکر نیوز را تقویت می کند، نتایج جستجوی عالی برای محتوای خود دریافت کنید.

جستجوی کارآمد یکی از ویژگی های حیاتی اکثر برنامه ها و سایت های وب مدرن است. با استفاده از Algolia API، می توانید عملکرد جستجوی قدرتمندی را پیاده سازی کنید که به طور قابل توجهی تجربه کاربر را افزایش می دهد.

چه در حال ساختن یک وبلاگ، پلت فرم تجارت الکترونیک یا هر برنامه کاربردی دیگری باشید که به جستجو نیاز دارد، Node.js یک فناوری وب قدرتمند برای انجام آن است. Algolia یک پلت فرم عالی برای ایجاد یک سیستم جستجوی قوی در بالای آن در اختیار شما قرار می دهد.

Algolia چیست؟

Algolia یک موتور جستجوی میزبانی شده است که پلتفرم و ابزارهایی را برای پیاده سازی جستجوهای کارآمد و انعطاف پذیر در وب سایت ها و برنامه ها در اختیار شما قرار می دهد. Algolia دارای دو جزء است: جستجو و تجزیه و تحلیل.

با استفاده از Algolia، می توانید تجارب جستجوی عالی برای کاربران خود ایجاد کنید و سپس از ابزارهایی برای تجزیه و تحلیل و به دست آوردن بینش معنادار از برنامه خود استفاده کنید.

Algolia همچنین یک API توسعه‌دهنده و SDKهای پشتیبانی را ارائه می‌کند تا امکان یکپارچه‌سازی یکپارچه با برنامه‌های ساخته شده به زبان‌های مختلف را فراهم کند. این مزیت دوگانه یک API برای قدرت سطح پایین و یک SDK برای توسعه آسان‌تر رفتار رایج را به ارمغان می‌آورد.

Algolia از شما می‌خواهد که برای یک حساب کاربری ثبت نام کنید تا جستجوی آن را در برنامه‌های Node.js خود ادغام کنید. برای ثبت نام رایگان به Algolia.com وارد شوید.

نحوه دریافت اعتبارنامه API توسعه دهنده Algolia

برای پیاده سازی جستجوی Algolia، باید یک اپلیکیشن برای پروژه خود ایجاد کنید. هنگامی که ثبت نام می کنید، Algolia یک برنامه جدید به نام اولین برنامه من برای شما ایجاد می کند و می توانید انتخاب کنید که از آن استفاده کنید یا یک برنامه جدید ایجاد کنید.

مطلب مرتبط:   نحوه استفاده از Postman برای تست یک API

دریافت اعتبار API از داشبورد بسیار آسان است. لیستی از گزینه ها از جمله کلیدهای API وجود دارد:

داشبورد برنامه Algolia

وقتی روی کلیدهای API کلیک می‌کنید، صفحه‌ای را با اعتبارنامه‌های مختلف می‌بینید. تنها چیزی که برای ادغام اولیه نیاز دارید، شناسه برنامه و کلید API Admin است.

صفحه کلیدهای Algolia API

اکنون که یک برنامه Algolia را راه اندازی کرده اید، آماده ادغام آن در برنامه Node.js خود هستید.

پیاده سازی قابلیت جستجو با Algolia

Algolia یک SDK مشتری برای طیف گسترده ای از زبان های برنامه نویسی، از جمله Node.js ارائه می دهد که بهترین انتخاب برای جاوا اسکریپت سمت سرور است. Node.js SDK استفاده از Algolia را با جاوا اسکریپت آسان می کند.

با نصب بسته algoliasearch npm شروع کنید:

npm install algoliasearch

مرحله بعدی این است که مشتری را در پروژه خود مقداردهی کنید. در فایلی به نام algolia.js، algoliasearch را وارد کنید، سپس یک کلاینت جدید را با استفاده از اعتبار API خود مقداردهی کنید:

const Algolia = require("algoliasearch")

const ALGOLIA_APP_ID = 'YOUR_APPLICATION_ID' || process.env.ALGOLIA_APP_ID
const ALGOLIA_ADMIN_KEY = 'YOUR_ADMIN_KEY' || process.env.ALGOLIA_ADMIN_KEY

const algoliaClient = new Algolia(ALGOLIA_APP_ID, ALGOLIA_ADMIN_KEY);

شما از نمونه مشتری Algolia برای عملیات بیشتر در پروژه خود استفاده خواهید کرد.

Algolia از فهرست های جستجو برای ذخیره داده هایی که می توانید جستجو کنید استفاده می کند. فهرست جستجو شبیه به جدول پایگاه داده است که می توانید برای واکشی داده ها از آن پرس و جو کنید. پس از مقداردهی اولیه مشتری، باید یک فهرست برای ذخیره داده ها ایجاد کنید. به عنوان مثال، در اینجا نحوه ایجاد یک فهرست برای ذخیره خودروها آمده است:

const carsIndex = algoliaClient.initIndex("cars")

این خط یک شاخص در برنامه شما به نام cars ایجاد می کند و مرجعی به آن در متغیر carsIndex ذخیره می کند.

در مرحله بعد، باید داده هایی را به فهرست خود اضافه کنید تا بتوانید آن را جستجو کنید. شما باید همیشه داده های خود را به عنوان آرایه ای از اشیاء آماده کنید و اطمینان حاصل کنید که هر شی دارای ویژگی objectID برای شناسایی منحصر به فرد آن است.

مطلب مرتبط:   بیانیه if-else چگونه در آردوینو کار می کند؟

برای تعریف داده هایی که می خواهید به فهرست Algoila اضافه کنید، کدی بنویسید:

const cars = [
  { objectID: '1', brand: 'Toyota', model: 'Camry', year: '2022', color: 'Silver' },
  { objectID: '2', brand: 'Honda', model: 'Civic', year: '2021', color: 'Red' },
  { objectID: '3', brand: 'Ford', model: 'Mustang', year: '2020', color: 'Black' },
  { objectID: '4', brand: 'Chevrolet', model: 'Corvette', year: '2023', color: 'Yellow' },
  { objectID: '5', brand: 'BMW', model: 'X5', year: '2022', color: 'White' }
];

Algolia از روش saveObjects برای افزودن داده به یک شاخص خاص استفاده می کند. این تابع لیستی از اشیا را به عنوان آرگومان می پذیرد و یک وعده را برمی گرداند. اگر نیاز به استفاده از داده های خروجی آن دارید، می توانید از کلمه کلیدی await با آن استفاده کنید.

در اینجا نحوه اضافه کردن تمام اتومبیل های موجود در آرایه اتومبیل ها به carsIndex در برنامه Algolia آمده است:

carsIndex.saveObjects(cars)

هنگامی که این تابع را اجرا می کنید، به داشبورد برنامه خود در Algolia برگردید و به پایین به شاخص ها بروید. فهرست خودروها را در آنجا پیدا می‌کنید و وقتی روی آن کلیک می‌کنید، داده‌های آن را خواهید دید.

داده ها به شاخص اضافه شد

اکنون که داده‌هایی در فهرست خود دارید، می‌توانید با استفاده از روش‌های جستجوی مختلف ارائه‌شده توسط Algolia، آن‌ها را برای داده‌ها جستجو کنید.

برای جستجوی داده ها از فهرست خودروها، می توانید از روش جستجوی SDK استفاده کنید و یک عبارت جستجو را به عنوان آرگومان به آن ارسال کنید. تابع با پرس و جو به عنوان یک عبارت منظم برخورد می کند و هر تطابقی را که در ایندکس پیدا می کند برمی گرداند.

مطلب مرتبط:   نحوه مدیریت واکشی داده در Next.js

کد زیر تابعی را برای جستجوی فهرست خودروها با استفاده از پرس و جو و چاپ نتایج تعریف می کند.

const searchCar = async (query) => {
    const data = await carsIndex.search(query)
    console.log(data.hits)
}

searchCar('honda')

وقتی این کد را اجرا می کنید، برنامه شی ماشینی را که دارای فیلدی است که مقدار آن با کلمه هوندا مطابقت دارد، چاپ می کند. خروجی چیزی شبیه به این خواهد بود:

خروجی جستجوی Algolia در ترمینال

همچنین می‌توانید مقادیری را که در ویژگی‌های دیگر اشیاء ظاهر می‌شوند جستجو کنید، و تابع هر تطابقی را که پیدا کند، برمی‌گرداند.

Algolia به شما امکان می دهد خواص را جستجو کنید یا نه. به عنوان مثال، برای اینکه فقط مارک و مدل را در فهرست خودروها جستجو کنید، می‌توانید از تابع setSettings برای پیکربندی محدودیت استفاده کنید، همانطور که کد زیر نشان می‌دهد.

carsIndex.setSettings({
  searchableAttributes: ['brand', 'model'],
})

این باعث می‌شود که هر ویژگی دیگر غیرقابل جستجو باشد، بنابراین عبارت‌های جستجو فقط در برابر ویژگی‌های مارک و مدل اجرا می‌شوند. زمانی که شما در حال ساخت محصولات دنیای واقعی هستید که باید از بهترین شیوه های امنیتی اطمینان حاصل کنید و از دسترسی کاربران به داده های خصوصی از طریق جستجو جلوگیری کنید، استثنا کردن ویژگی ها مفید است.

ایجاد قابلیت جستجوی کارآمد با Algolia

Algolia یک فناوری بسیار قدرتمند است و یکی از انتخاب های برتر برای پیاده سازی جستجوی برق آسا در برنامه های تحت وب است. همچنین دارای تحمل تایپی است و حتی به شما امکان می دهد سطح تحمل تایپی را در جستجوی خود تنظیم کنید.

وقتی موتور جستجو را با Algolia پیاده سازی می کنید، همیشه می توانید به عملکرد موتور جستجو در برنامه Node.js خود اعتماد کنید. می‌توانید جستجو را در یک برنامه کاربردی واقعی پیاده‌سازی کنید و اسناد را مرور کنید تا اطلاعات بیشتری در مورد Algolia پیدا کنید.