نشر المكوّن الإضافي لأداة Apache Nutch Indexer

يمكنك إعداد Google Cloud Search لعرض محتوى الويب للمستخدمين من خلال نشر المكوّن الإضافي لأداة فهرسة Google Cloud Search في Apache Nutch، وهو زاحف ويب مفتوح المصدر.

عند بدء الزحف إلى الويب، يزحف Apache Nutch إلى الويب ويستخدم المكوّن الإضافي للمفهرس لتحميل الإصدارات الثنائية (أو النصية) الأصلية لمحتوى المستند إلى واجهة برمجة تطبيقات الفهرسة في Google Cloud Search. تفهرس واجهة Indexing API المحتوى وتعرض النتائج للمستخدمين.

اعتبارات مُهمّة

متطلبات النظام

متطلبات النظام
نظام التشغيل نظام التشغيل Linux فقط:
  • Ubuntu
  • الإصدار 5.0 من نظام التشغيل Red Hat Enterprise Linux
  • SUSE Enterprise Linux 10 (64 بت)
البرامج
  • الإصدار 1.15 من Apache Nutch يتضمن برنامج المكون الإضافي للفهرس هذا الإصدار من Nutch.
  • تم تثبيت الإصدار 1.8 من Java JRE على الكمبيوتر والذي سيشغّل المكوّن الإضافي للمفهرس
أنواع مستندات Apache Tika تنسيقات المستندات المتوافقة مع Apache Tika 1.18

نشر المكوّن الإضافي للمفهرس

توضح الخطوات التالية كيفية تثبيت المكوّن الإضافي للفهرسة وإعداد مكوناته للزحف إلى عناوين URL المحدَّدة وعرض النتائج إلى Cloud Search.

المتطلّبات الأساسية

قبل نشر المكوّن الإضافي لبرنامج Cloud Search Apache Nutch Index، يُرجى جمع المعلومات المطلوبة لربط Google Cloud Search ومصدر البيانات:

الخطوة 1: إنشاء وتثبيت برنامج المكون الإضافي وApache Nutch

  1. استنسِخ مستودع المكونات الإضافية للمفهرس من GitHub.

    $ git clone https://github.com/google-cloudsearch/apache-nutch-indexer-plugin.git
    $ cd apache-nutch-indexer-plugin
  2. تحقق من الإصدار المطلوب من المكوّن الإضافي للمفهرس:

    $ git checkout tags/v1-0.0.5
  3. قم بإنشاء المكون الإضافي للفهرسة.

    $ mvn package

    لتخطّي الاختبارات أثناء إنشاء المكوّن الإضافي للفهرس، استخدِم mvn package -DskipTests.

  4. نزِّل Apache Nutch 1.15 واتّبِع تعليمات تثبيت Apache Nutch.

  5. يمكنك استخراج target/google-cloudsearch-apache-nutch-indexer-plugin-v1.0.0.5.zip (المضمّنة في الخطوة 2) إلى مجلد. انسخ مجلد plugins/indexer-google-cloudsearch إلى مجلد المكونات الإضافية لتثبيت Apache Nutch (apache-nutch-1.15/plugins).

الخطوة 2: إعداد المكوّن الإضافي للمفهرس

لإعداد المكوّن الإضافي لمفهرس Apache Nutch، يُرجى إنشاء ملف باسم plugin-configuration.properties.

يجب أن يحدّد ملف الإعداد المَعلمات التالية، وهي ضرورية للوصول إلى مصدر بيانات Google Cloud Search.

الإعدادات المَعلمة
رقم تعريف مصدر البيانات api.sourceId = 1234567890abcdef
مطلوبة رقم تعريف مصدر Google Cloud Search الذي أعدّه مشرف Google Workspace للمكوّن الإضافي للفهرسة.
حساب الخدمة api.serviceAccountPrivateKeyFile = ./PrivateKey.json
مطلوبة ملف مفتاح حساب خدمة Google Cloud Search الذي أنشأه مشرف Google Workspace لتسهيل استخدام المكوّن الإضافي للمفهرس

يوضح المثال التالي نموذج ملف إعداد بالمعلَمات المطلوبة.

#
# data source access
api.sourceId=1234567890abcdef
api.serviceAccountPrivateKeyFile=./PrivateKey.json
#

يمكن أن يحتوي ملف التهيئة أيضًا على معلمات أخرى تتحكم في سلوك المكون الإضافي للمفهرس. يمكنك ضبط كيفية إرسال المكوّن الإضافي البيانات إلى Cloud Search API وdefaultAcl.* وbatch.*. يمكنك أيضًا ضبط كيفية تعبئة المكوّن الإضافي للمفهرس للبيانات الوصفية والبيانات المنظَّمة.

للحصول على أوصاف لهذه المَعلمات، انتقِل إلى مَعلمات الموصِّل التي توفّرها Google.

الخطوة 3: إعداد Apache Nutch

  1. افتح conf/nutch-site.xml وأضِف المَعلمات التالية:

    الإعدادات المَعلمة
    يتضمن المكوِّن الإضافي plugin.includes = text

    مطلوبة. قائمة المكوّنات الإضافية المطلوب استخدامها. ويجب أن يتضمّن ذلك على الأقل ما يلي:

    • فهرس-أساسي
    • فهرسة-المزيد
    • فهرس-google-cloudsearch
    توفّر السمة conf/nutch-default.xml قيمة تلقائية لهذه السمة، ولكن عليك أيضًا إضافة السمة indexer-google-cloudsearch إليها يدويًا.
    أسماء العلامات الوصفية metatags.names = text

    اختياريّ. قائمة مفصولة بفواصل للعلامات المرتبطة بالخصائص في مخطط مصدر البيانات ذي الصلة. للاطّلاع على مزيد من المعلومات حول طريقة إعداد Apache Nutch للعلامات الوصفية، انتقِل إلى العلامات الوصفية Nutch-parse.

    يوضّح المثال التالي التعديل المطلوب في nutch-site.xml:

    <property>
      <name>plugin.includes</name>
      <value>protocol-(http|httpclient)|urlfilter-regex|index-(basic|more| metadata)|query-(basic|site|url|lang)|indexer-google-cloudsearch|nutch-extensionpoints|parse-(text|html|msexcel|msword|mspowerpoint|pdf|metatags)|summary-basic|scoring-opic|urlnormalizer-(pass|regex|basic)|parse-(html|tika|metatags)|index-(basic|anchor|more|metadata)</value>
    </property>
    
  2. افتح conf/index-writers.xml وأضِف القسم التالي:

    <writer id="indexer_google_cloud_search_1" class="org.apache.nutch.indexwriter.gcs.GoogleCloudSearchIndexWriter">
      <parameters>
        <param name="gcs.config.file" value="path/to/sdk-configuration.properties"/>
      </parameters>
      <mapping>
        <copy />
        <rename />
        <remove />
      </mapping>
    </writer>
    

    يحتوي القسم <writer> على المعلمات التالية:

    الإعدادات المَعلمة
    المسار إلى ملف إعداد Google Cloud Search gcs.config.file = path

    مطلوبة. المسار الكامل (المطلق) لملف إعداد Google Cloud Search.

    تنسيق التحميل gcs.uploadFormat = text

    اختياريّ. يشير ذلك المصطلح إلى التنسيق الذي ينقل به المكوّن الإضافي للفهرسة محتوى المستند إلى واجهة برمجة تطبيقات فهرسة Google Cloud Search. القيم الصالحة هي:

    • raw: يطرح المكوِّن الإضافي للفهرسة محتوى المستند الأصلي الذي لم يتم تحويله.
    • text: يضع المكوّن الإضافي للفهرسة المحتوى النصي المستخرج. القيمة التلقائية هي raw.

الخطوة 4: ضبط زحف الويب

قبل بدء الزحف إلى الويب، يجب تهيئة الزحف بحيث لا يتضمن سوى المعلومات التي تريد مؤسستك إتاحتها ضمن نتائج البحث. يوفّر هذا القسم نظرة عامة. لمزيد من المعلومات حول طريقة إعداد الزحف على الويب، انتقِل إلى البرنامج التعليمي المبسَّط.

  1. إعداد عناوين URL للبدء.

    تتحكم عناوين URL للبدء في المكان الذي يبدأ منه زاحف الويب Apache Nutch في الزحف إلى المحتوى التابع لك. يجب أن تمكّن عناوين URL للبدء زاحف الويب من الوصول إلى كل المحتوى الذي تريد تضمينه في عملية زحف معيّنة من خلال اتّباع الروابط. عناوين URL للبدء مطلوبة.

    لإعداد عناوين URL للبدء:

    1. تغيير دليل العمل إلى دليل تثبيت Nutch:

      $ cd ~/nutch/apache-nutch-X.Y/
    2. إنشاء دليل لعناوين URL:

      $ mkdir urls
    3. أنشِئ ملفًا بالاسم seed.txt وأدرِج عناوين URL فيه مع إدراج عنوان URL واحد في كل سطر.

  2. إعداد قواعد المتابعة وعدم المتابعة

    تتحكّم قواعد عناوين URL التي يتم ضبطها في عناوين URL التي يتم الزحف إليها وتضمينها في فهرس Google Cloud Search. يفحص زاحف الويب عناوين URL استنادًا إلى قواعد عناوين URL التالية. يتم فقط الزحف إلى عناوين URL التي تتطابق مع هذه القواعد وفهرستها.

    تستبعد قواعد عدم الاتباع عناوين URL من الزحف إليها وتضمينها في فهرس Google Cloud Search. إذا كان عنوان URL يتضمن نمط عدم الزحف، يعني ذلك أن زاحف الويب لن يزحف إليه.

    لإعداد قواعد عناوين URL للمتابعة و"عدم المتابعة":

    1. تغيير دليل العمل إلى دليل تثبيت Nutch:

      $ cd ~/nutch/apache-nutch-X.Y/
    2. تعديل conf/regex-urlfilter.txt لتغيير قواعد المتابعة/عدم المتابعة: \

      $ nano conf/regex-urlfilter.txt
    3. أدخِل تعبيرات عادية مع بادئة "+" أو "-" لاتّباع أو عدم اتّباع أنماط عناوين URL وإضافاتها، كما هو موضّح في الأمثلة التالية. يُسمح بالتعبيرات المفتوحة.

      # skip file extensions
      -\.(gif|GIF|jpg|JPG|png|PNG|ico)
      
      # skip protocols (file: ftp: and mailto:)
          -^(file|ftp|mailto):
      
      # allow urls starting with https://support.google.com/gsa/
      +^https://support.google.com/gsa/
      
      # accept anything else
      # (commented out due to the single url-prefix allowed above)
      #+.
      
  3. عدِّل النص البرمجي للزحف.

    إذا كانت المَعلمة gcs.uploadFormat غير متوفّرة أو تم ضبطها على Raw، عليك إضافة وسيطات "-addBinaryContent -base64" لتمريرها إلى الأمر nutch index تطلب هذه الوسيطات من وحدة أداة الفهرسة تضمين محتوى ثنائي في Base64 عند استدعاء المكون الإضافي للمفهرس. لا يحتوي النص البرمجي ./bin/crawl على هذه الوسيطات بشكل افتراضي.

    1. فتح نص crawl البرمجي في apache-nutch-1.15/bin
    2. أضِف خيارات -addBinaryContent -base64 إلى النص البرمجي، كما في المثال التالي:

            if $INDEXFLAG; then
                echo "Indexing $SEGMENT to index"
                __bin_nutch index $JAVA_PROPERTIES "$CRAWL_PATH"/crawldb -addBinaryContent -base64 -linkdb "$CRAWL_PATH"/linkdb "$CRAWL_PATH"/segments/$SEGMENT
      
                echo "Cleaning up index if possible"
                __bin_nutch clean $JAVA_PROPERTIES "$CRAWL_PATH"/crawldb
            else
                echo "Skipping indexing ..."
      

الخطوة 5: بدء الزحف إلى الويب وتحميل المحتوى

بعد تثبيت المكوّن الإضافي للمفهرس وإعداده، يمكنك تشغيله تلقائيًا في الوضع المحلي. استخدِم النصوص البرمجية من ./bin لتنفيذ مهمة زحف أو أوامر Nutch فردية.

يفترض المثال التالي أن المكونات المطلوبة موجودة في الدليل المحلي. شغِّل Nutch باستخدام الأمر التالي من دليل apache-nutch-1.15:

$ bin/crawl -i -s urls/ crawl-test/ 5

تتوفّر سجلات الزحف في إخراج std (الأداة الطرفية) أو في دليل logs/. لتوجيه نتائج التسجيل أو إجراء المزيد من التسجيل المطوَّل، يُرجى تعديل conf/log4j.properties.