این راهنما برای مدیران افزونه ایندکس کننده Norconex HTTP Collector در Google Cloud Search در نظر گرفته شده است، یعنی هر کسی که مسئول دانلود، استقرار، پیکربندی و نگهداری افزونه ایندکس کننده است. این راهنما فرض میکند که شما با سیستم عاملهای لینوکس، اصول خزش وب، XML و Norconex HTTP Collector آشنا هستید.
این راهنما شامل دستورالعملهایی برای انجام وظایف کلیدی مربوط به استقرار افزونهی ایندکسِر است:
- دانلود نرمافزار افزونهی ایندکسِر
- پیکربندی جستجوی ابری گوگل
- پیکربندی Norconex HTTP Collector و خزش وب
- شروع خزش وب و آپلود محتوا
اطلاعات مربوط به وظایفی که مدیر Google Workspace باید برای نگاشت Google Cloud Search به افزونه شاخصگذار Norconex HTTP Collector انجام دهد، در این راهنما وجود ندارد. برای اطلاعات مربوط به این وظایف، به مدیریت منابع داده شخص ثالث مراجعه کنید.
مروری بر افزونهی شاخصگذار Cloud Search Norconex HTTP Collector
به طور پیشفرض، Cloud Search میتواند محتوا را از محصولات Google Workspace مانند Google Docs و Gmail کشف، فهرستبندی و ارائه دهد. شما میتوانید با استفاده از افزونه فهرستساز برای Norconex HTTP Collector ، یک خزنده وب سازمانی متنباز، دامنه Google Cloud Search را گسترش دهید تا شامل ارائه محتوای وب به کاربران شما نیز بشود.
فایلهای ویژگیهای پیکربندی
برای فعال کردن افزونهی ایندکسکننده جهت انجام خزشهای وب و آپلود محتوا در API ایندکسسازی، شما به عنوان مدیر افزونهی ایندکسکننده، اطلاعات خاصی را در طول مراحل پیکربندی شرح داده شده در این سند در بخش مراحل استقرار ارائه میدهید.
برای استفاده از افزونهی ایندکسِر، باید ویژگیهایی را در دو فایل پیکربندی تنظیم کنید:
-
{gcs-crawl-config.xml}-- شامل تنظیماتی برای Norconex HTTP Collector است. -
sdk-configuration.properties-- شامل تنظیماتی برای جستجوی ابری گوگل است.
ویژگیهای موجود در هر فایل، افزونهی ایندکسکنندهی جستجوی ابری گوگل و Norconex HTTP Collector را قادر میسازد تا با یکدیگر ارتباط برقرار کنند.
خزش وب و آپلود محتوا
پس از پر کردن فایلهای پیکربندی، تنظیمات لازم برای شروع خزش وب را دارید. Norconex HTTP Collector وب را میخزد، محتوای سندی را که مربوط به پیکربندی آن است کشف میکند و نسخههای باینری (یا متنی) اصلی محتوای سند را در API نمایهسازی Cloud Search بارگذاری میکند، جایی که این محتوا نمایهسازی شده و در نهایت به کاربران شما ارائه میشود.
سیستم عامل پشتیبانی شده
افزونهی ایندکسکنندهی Google Cloud Search Norconex HTTP Collector باید روی لینوکس نصب شود.
نسخه پشتیبانی شده Norconex HTTP Collector
افزونهی ایندکسکنندهی Google Cloud Search Norconex HTTP Collector از نسخهی ۲.۸.۰ پشتیبانی میکند.
پشتیبانی از ACL
افزونهی ایندکسکننده با استفاده از فهرستهای کنترل دسترسی (ACL) از کنترل دسترسی به اسناد در دامنهی Google Workspace پشتیبانی میکند.
اگر ACL های پیشفرض در پیکربندی افزونه Google Cloud Search فعال شده باشند ( defaultAcl.mode روی غیر از none تنظیم شده و با defaultAcl.* پیکربندی شده باشد)، افزونه ایندکسکننده ابتدا سعی میکند یک ACL پیشفرض ایجاد و اعمال کند.
اگر ACL های پیشفرض فعال نباشند، افزونه به اعطای مجوز خواندن به کل دامنه Google Workspace برمیگردد.
برای توضیحات دقیق پارامترهای پیکربندی ACL، به پارامترهای کانکتور ارائه شده توسط گوگل مراجعه کنید.
پیشنیازها
قبل از اینکه افزونهی ایندکسِر را مستقر کنید، مطمئن شوید که اجزای مورد نیاز زیر را دارید:
- جاوا JRE 1.8 نصب شده روی رایانهای که افزونهی ایندکسکننده را اجرا میکند
اطلاعات مورد نیاز Google Workspace برای ایجاد ارتباط بین Cloud Search و Norconex HTTP Collector:
- کلید خصوصی Google Workspace (که شامل شناسه حساب سرویس است)
- شناسه منبع داده Google Workspace
معمولاً، مدیر Google Workspace دامنه میتواند این اطلاعات را برای شما فراهم کند.
مراحل استقرار
برای نصب افزونهی ایندکسِر، مراحل زیر را دنبال کنید:
- نرمافزار Norconex HTTP Collector و افزونهی ایندکسکننده را نصب کنید.
- پیکربندی جستجوی ابری گوگل
- پیکربندی Norconex HTTP Collector
- پیکربندی خزش وب
- شروع خزش وب و آپلود محتوا
مرحله 1: Norconex HTTP Collector و نرمافزار افزونهی ایندکسکننده را نصب کنید
- نرمافزار Norconex commiter را از این صفحه دانلود کنید.
- نرمافزار دانلود شده را در پوشه
~/norconex/از حالت فشرده خارج کنید. - افزونهی کامیتِر را از گیتهاب کپی کنید.
git clone https://github.com/google-cloudsearch/norconex-committer-plugin.gitو سپسcd norconex-committer-plugin - نسخه مورد نظر افزونه commiter را بررسی کنید و فایل ZIP را بسازید:
git checkout tags/v1-0.0.3وmvn package(برای رد کردن تستها هنگام ساخت کانکتور، ازmvn package -DskipTestsاستفاده کنید.) -
cd target - فایل jar افزونهی ساختهشده را در پوشهی کتابخانهی norconex کپی کنید.
cp google-cloudsearch-norconex-committer-plugin-v1-0.0.3.jar ~/norconex/norconex-collector-http-{version}/lib - فایل زیپی که ساختید را استخراج کنید و سپس آن را از حالت فشرده خارج کنید:
unzip google-cloudsearch-norconex-committer-plugin-v1-0.0.3.zip - اسکریپت نصب را اجرا کنید تا فایل .jar افزونه و تمام کتابخانههای مورد نیاز در دایرکتوری http collector کپی شوند:
- افزونهی کامیتِر استخراجشده که در بالا از حالت فشرده خارج شده را تغییر دهید:
cd google-cloudsearch-norconex-committer-plugin-v1-0.0.3 - دستور
$ sh install.shاجرا کنید و در صورت درخواست، مسیر کاملnorconex/norconex-collector-http-{version}/libرا به عنوان دایرکتوری هدف ارائه دهید. - اگر فایلهای jar تکراری پیدا شدند، گزینه
1را انتخاب کنید (فقط در صورتی که نسخه Jar منبع بزرگتر یا مشابه نسخه Jar هدف است، پس از تغییر نام Jar هدف، Jar منبع را کپی کنید).
- افزونهی کامیتِر استخراجشده که در بالا از حالت فشرده خارج شده را تغییر دهید:
مرحله ۲: پیکربندی جستجوی ابری گوگل
برای اینکه افزونهی ایندکسکننده به Norconex HTTP Collector متصل شود و محتوای مربوطه را ایندکس کند، باید فایل پیکربندی Cloud Search را در دایرکتوری Norconex که Norconex HTTP Collector در آن نصب شده است، ایجاد کنید. گوگل توصیه میکند که نام فایل پیکربندی Cloud Search sdk-configuration.properties بگذارید.
این فایل پیکربندی باید شامل جفتهای کلید/مقدار باشد که یک پارامتر را تعریف میکنند. فایل پیکربندی باید حداقل پارامترهای زیر را که برای دسترسی به منبع داده Cloud Search ضروری هستند، مشخص کند.
| تنظیم | پارامتر |
| شناسه منبع داده | api.sourceId = 1234567890abcdefالزامی. شناسه منبع جستجوی ابری که توسط مدیر Google Workspace تنظیم شده است. |
| حساب کاربری خدمات | api.serviceAccountPrivateKeyFile = ./PrivateKey.jsonالزامی. فایل کلید حساب سرویس جستجوی ابری که توسط مدیر Google Workspace برای دسترسی به افزونهی ایندکسکننده ایجاد شده است. |
مثال زیر یک فایل sdk-configuration.properties را نشان میدهد.
#
# data source access
api.sourceId=1234567890abcdef
api.serviceAccountPrivateKeyFile=./PrivateKey.json
#
فایل پیکربندی همچنین میتواند شامل پارامترهای پیکربندی ارائه شده توسط گوگل باشد. این پارامترها میتوانند بر نحوه ارسال دادهها توسط این افزونه به API جستجوی ابری گوگل تأثیر بگذارند. برای مثال، مجموعه پارامترهای batch.* نحوه ترکیب درخواستها توسط رابط را مشخص میکند.
اگر پارامتری را در فایل پیکربندی تعریف نکنید، در صورت وجود، از مقدار پیشفرض استفاده میشود. برای توضیحات دقیق هر پارامتر، به پارامترهای اتصال ارائه شده توسط گوگل مراجعه کنید.
شما میتوانید افزونهی ایندکسکننده را طوری پیکربندی کنید که فرادادهها و دادههای ساختاریافته را برای محتوایی که ایندکس میشود، پر کند. مقادیری که باید برای فیلدهای فراداده و دادههای ساختاریافته پر شوند، میتوانند از متا تگهای محتوای HTML که ایندکس میشوند استخراج شوند یا مقادیر پیشفرض را میتوان در فایل پیکربندی مشخص کرد.
| تنظیم | پارامتر |
| عنوان | itemMetadata.title.field= movieTitleitemMetadata.title.defaultValue= Gone with the Windبه طور پیشفرض، افزونه HTML title به عنوان عنوان سندی که ایندکس میشود استفاده میکند. در صورت عدم وجود عنوان، میتوانید به ویژگی فراداده که حاوی مقداری مربوط به عنوان سند است مراجعه کنید یا یک مقدار پیشفرض تنظیم کنید. |
| مهر زمانی ایجاد شده | itemMetadata.createTime.field= releaseDateitemMetadata.createTime.defaultValue= 1940-01-17ویژگی فرادادهای که حاوی مقدار مربوط به مهر زمانی ایجاد سند است. |
| آخرین زمان اصلاح | itemMetadata.updateTime.field= releaseDateitemMetadata.updateTime.defaultValue= 1940-01-17ویژگی فرادادهای که حاوی مقدار آخرین مهر زمانی اصلاح سند است. |
| زبان سند | itemMetadata.contentLanguage.field= languageCodeitemMetadata.contentLanguage.defaultValue= en-USزبان محتوای اسنادی که نمایهسازی میشوند. |
| نوع شیء طرحواره | itemMetadata.objectType= movieنوع شیء مورد استفاده سایت، همانطور که در تعاریف شیء طرحواره منبع داده تعریف شده است. اگر این ویژگی مشخص نشده باشد، رابط هیچ داده ساختاریافتهای را فهرستبندی نمیکند. نکته : این ویژگی پیکربندی به یک مقدار به جای یک ویژگی فراداده اشاره میکند و پسوندهای |
قالبهای تاریخ و زمان
قالبهای تاریخ و زمان، قالبهای مورد انتظار در ویژگیهای فراداده را مشخص میکنند. اگر فایل پیکربندی حاوی این پارامتر نباشد، از مقادیر پیشفرض استفاده میشود. جدول زیر این پارامتر را نشان میدهد.
structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
فهرستی از الگوهای اضافی java.time.format.DateTimeFormatter که با نقطه ویرگول از هم جدا شدهاند. این الگوها هنگام تجزیه مقادیر رشتهای برای هر فیلد تاریخ یا تاریخ-زمان در فراداده یا طرحواره استفاده میشوند. مقدار پیشفرض یک لیست خالی است، اما قالبهای RFC 3339 و RFC 1123 همیشه پشتیبانی میشوند.
مرحله 3: پیکربندی Norconex HTTP Collector
فایل فشرده norconex-committer-google-cloud-search-{version}.zip شامل یک فایل پیکربندی نمونه به minimum-config.xml است.
گوگل توصیه میکند که پیکربندی را با کپی کردن فایل نمونه شروع کنید:
- به دایرکتوری Norconex HTTP Collector بروید:
$ cd ~/norconex/norconex-collector-http-{version}/ - فایل پیکربندی را کپی کنید:
$ cp examples/minimum/minimum-config.xml gcs-crawl-config.xml - فایل تازه ایجاد شده (در این مثال،
gcs-crawl-config.xml) را ویرایش کنید و گرههای<committer>و<tagger>موجود را همانطور که در جدول زیر توضیح داده شده است، اضافه یا جایگزین کنید.
| تنظیم | پارامتر |
<committer> node | <committer class="com.norconex.committer.googlecloudsearch. GoogleCloudSearchCommitter">الزامی. برای فعال کردن افزونه، باید یک گره <committer> به عنوان فرزند گره ریشه <httpcollector> اضافه کنید. |
<UploadFormat> | <uploadFormat>raw</uploadFormat>اختیاری. قالبی که افزونه ایندکس کننده، محتوای سند را با آن به API ایندکس کننده جستجوی ابری گوگل ارسال میکند. مقادیر معتبر عبارتند از:
مقدار پیشفرض raw است. |
BinaryContent Tagger <tagger> node | <tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>اگر مقدار <UploadFormat> raw باشد، الزامی است. در این حالت، افزونهی ایندکسکننده به فیلد محتوای دودویی سند نیاز دارد.شما باید گره BinaryContentTagger <tagger> را به عنوان یک عنصر فرزند از گره <importer> / <preParseHandlers> اضافه کنید. |
مثال زیر تغییرات لازم در gcs-crawl-config.xml را نشان میدهد.
<committer class="com.norconex.committer.googlecloudsearch.GoogleCloudSearchCommitter">
<configFilePath>/full/path/to/gcs-sdk-config.properties</configFilePath>
<uploadFormat>raw</uploadFormat>
</committer>
<importer>
<preParseHandlers>
<tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
</preParseHandlers>
</importer>
مرحله ۴: پیکربندی خزش وب
قبل از شروع خزش وب، باید خزش را طوری پیکربندی کنید که فقط شامل اطلاعاتی باشد که سازمان شما میخواهد در نتایج جستجو در دسترس قرار دهد. مهمترین تنظیمات برای خزش وب بخشی از گره (های) <crawler> هستند و میتوانند شامل موارد زیر باشند:
- آدرسهای اینترنتی (URL) را شروع کنید
- حداکثر عمق خزش
- تعداد نخها
این مقادیر پیکربندی را مطابق نیاز خود تغییر دهید. برای اطلاعات بیشتر در مورد راهاندازی یک خزش وب و همچنین لیست کاملی از پارامترهای پیکربندی موجود، به صفحه پیکربندی HTTP Collector مراجعه کنید.
مرحله ۵: شروع خزش وب و آپلود محتوا
بعد از اینکه افزونهی ایندکسکننده را نصب و راهاندازی کردید، میتوانید آن را به صورت محلی اجرا کنید.
مثال زیر فرض میکند که اجزای مورد نیاز در دایرکتوری محلی یک سیستم لینوکس قرار دارند. دستور زیر را اجرا کنید:
$ ./collector-http[.bat|.sh] -a start -c gcs-crawl-config.xml
خزنده را با JEF Monitor رصد کنید
مانیتور Norconex JEF (چارچوب اجرای کار) ابزاری گرافیکی برای نظارت بر پیشرفت فرآیندها و کارهای Norconex Web Crawler (HTTP Collector) است. برای آموزش کامل نحوه راهاندازی این ابزار، به بخش «نظارت بر پیشرفت خزنده خود با JEF Monitor» مراجعه کنید.