فهرست مستندات پروژه
اولین جستجوی فارسی
دو سند را نمایه کنید و ببینید عبارت پردازششده چگونه متن اصلی را پیدا میکند.
این نمونه از تحلیلگر استاندارد و رابط MiniSearch استفاده میکند. نصب، از جمله نصب [email protected]، را انجام دهید؛ سپس کد را در search.mjs ذخیره و با node search.mjs اجرا کنید.
import MiniSearch from "minisearch";
import { faMiniSearch } from "fa-search-kit/minisearch";
const fa = faMiniSearch();
const index = new MiniSearch({
fields: ["title"], storeFields: ["title"], ...fa,
searchOptions: { ...fa.searchOptions, boost: { title: 2 } },
});
index.addAll([
{ id: "books", title: "كتابهاي قديمي" },
{ id: "car", title: "ماشین قرمز" },
]);
console.log(JSON.stringify(index.search("کتاب").map(({ id, title }) => ({ id, title })))); // => [{"id":"books","title":"كتابهاي قديمي"}]
نتیجه چه میگوید؟
عبارت جستجو با حروف فارسی و واژه مفرد «کتاب» نوشته شده است. عنوان ذخیرهشده کاف و ی عربی و پسوند جمع چسبیده دارد. رابط هر دو طرف را پردازش میکند و MiniSearch سند books را پیدا میکند. گزینه storeFields عنوان اصلی را در نتیجه نگه میدارد؛ عنوان همچنان «كتابهاي قديمي» است. کتابخانه سند شما را بازنویسی نمیکند.
امتیاز و ترتیب نتیجهها را MiniSearch تعیین میکند. نمونه شناسه و متن اصلی را بررسی میکند و امتیاز ثابتی را وعده نمیدهد. تنظیمات searchOptions با تنظیمات رابط ادغام شدهاند تا پردازش عبارت جستجو حفظ شود.
گسترش نمونه
برای جستجو در متن بلندتر، فیلد body را به fields و هر سند اضافه کنید. وزن فیلدها را در MiniSearch تنظیم کنید، نه در تحلیلگر. برای صورتهای شناختهشده فعل و جمعهای مکسر، پروفایل کامل را بارگذاری کنید. برای غلط املایی یا چینش اشتباه صفحهکلید، اصلاح جستجو را جداگانه اضافه کنید.
پیش از ذخیره نمایه برای استفاده بعدی، تنظیمات تحلیلگر و نسخه بسته را ثبت کنید. تغییر این تنظیمات به نمایهسازی دوباره نیاز دارد.