برای یک سازمان معمول است که اصطلاحات منحصر به فرد یا روشهای متعددی برای اشاره به یک مفهوم یا چیز داشته باشد. شما باید مترادفها را تعریف کنید تا معادل اصطلاحات را ایجاد کنید و به کاربران در یافتن موارد هنگام جستجو کمک کنید.
مترادفها با اندیسگذاری آیتمها با طرحوارهی شناختهشدهی _dictionaryEntry
تعریف میشوند.
اقلام از نوع _dictionaryEntry
میتوانند ویژگیهای زیر را داشته باشند:
ملک | نوع | توضیحات | الزامی است؟ |
---|---|---|---|
_term | string | اصطلاحی برای تعریف. مقادیر توصیهشده، کلمات یا عبارات بدون خط تیره و بدون نقطهگذاری هستند. | مورد نیاز |
_synonym | string (repeated) | اصطلاحات جایگزینی که باید در پرسوجوهایی که با رشته تعریفشده در _term مطابقت دارند، گنجانده شوند. | مورد نیاز |
_onlyApplicableForAttachedSearchApplications | boolean | به شما امکان میدهد مترادفها را بر اساس منبع داده و برنامه جستجو گروهبندی کنید. برای اطلاعات بیشتر، به تعریف مترادفهای خاص منبع داده مراجعه کنید. | اختیاری |
وقتی کاربر مقدار ویژگی _term
را در یک پرسوجو وارد میکند، پرسوجوی مؤثر به صورت « term OR synonyms » در میآید. برای مثال، اگر عبارت "scifi" با مترادف "science fiction" تعریف شود، پرسوجویی که حاوی کلمه "scifi" باشد، با مواردی که حاوی "scifi" یا "science fiction."
مترادفها به صورت دو طرفه اعمال نمیشوند. اگر عبارت جستجو به جای "science fiction," جستجوی ابری هیچ مترادفی را برای عبارت جستجو اعمال نمیکند. عبارت جستجو فقط با مواردی که حاوی "science fiction." مواردی که حاوی "scifi" هستند حذف میشوند.
برای اینکه هر دو اصطلاح قابل تعویض باشند، هر اصطلاح را جداگانه تعریف کنید:
مدت | مترادفها |
---|---|
scifi | science fiction |
science fiction | scifi |
در طول پردازش پرسوجو، قبل از اعمال مترادفها، خط فاصله و سایر علائم نگارشی حذف میشوند. پرسوجوی کاربر "sci-fi" با _term
"sci fi." برای ایجاد مترادف برای اصطلاحاتی که ممکن است توسط کاربران با خط فاصله نوشته شوند، ابتدا _term
نرمالسازی کنید تا از فاصله سفید به جای خط فاصله استفاده شود.
در ادامهی مثال، تعاریف زیر با پرسوجوهای کاربر مطابقت دارند و "sci-fi," "sci fi," "scifi," و "science fiction" به جای یکدیگر قابل استفاده میدانند:
مدت | مترادفها |
---|---|
scifi | science fiction, sci fi |
sci fi | science fiction, scifi |
science fiction | scifi, sci fi |
به طور پیشفرض، مترادفها در هر منبع داده در کل دامنه اعمال میشوند. به طور خاص، مترادفها در برنامههای جستجو برای همه جستجوها صرف نظر از منبع داده اعمال میشوند. اگر مترادفهای خاص منبع داده را میخواهید، به تعریف مترادفهای خاص منبع داده مراجعه کنید.
مترادفهای سراسری را با استفاده از Cloud Search SDK تعریف کنید
شما میتوانید از کیت توسعه نرمافزار رابط محتوا (Content Connector SDK) برای تعریف اصطلاحات و مترادفهای آنها استفاده کنید. برای دستورالعملهای ساخت رابط، به بخش «ایجاد رابط محتوا» مراجعه کنید.
قطعه کد زیر ساخت یک RepositoryDoc
را نشان میدهد که عبارت و مترادف آن را بر اساس یک رکورد فایل CSV نمایش میدهد:
هنگام تعریف مترادفها به نکات زیر توجه کنید:
- ورودیهای مترادف باید دامنه عمومی باشند. در مثال قبلی، این کار با تنظیم ACL به
DOMAIN_PUBLIC_ACL
انجام میشود. - ویژگیهای زیر نباید برای فایل پیکربندی شما تعریف شوند زیرا تنظیمات عمومی دامنه را در کد شما لغو میکنند:
-
defaultAcl.mode=FALLBACK
-
defaultAcl.public=true
-
مترادفهای خاص برنامه جستجو را تعریف کنید
به طور پیشفرض، مترادفها برای همه منابع داده در تمام برنامههای جستجو اعمال میشوند.
با این حال، فرض کنید سازمان شما تیمهای مهندسی و فروش جداگانهای دارد و میخواهید برای هر تیم، تجربه جستجوی متفاوتی، از جمله مترادفهای خاص هر نقش شغلی، فراهم کنید. در این حالت، میتوانید یک برنامه جستجو با منبع داده خاص مهندسی و مترادفها و یک برنامه جستجوی دیگر با منبع داده خاص فروش و مترادفها ایجاد کنید. برای دستیابی به این هدف، هر مترادف را در یک منبع داده خاص با استفاده از _onlyApplicableForAttachedSearchApplications=true
فهرستبندی کنید. این تنظیم مترادفها را به گونهای محدود میکند که فقط در برنامههای جستجویی که شامل یک منبع داده خاص هستند، اعمال شوند.
برای مثال، اضافه کردن خط کد زیر به نمونه کد قبلی تضمین میکند که مترادفهای اندیسگذاری شده مختص منبع داده هستند:
structuredData.put("_onlyApplicableForAttachedSearchApplications", true);