Indexierungs-Plug-in für den Norconex HTTP Collector bereitstellen

Dieser Leitfaden richtet sich an Administratoren, die mit dem Indexierungs-Plug-in für den Norconex HTTP Collector für Google Cloud Search arbeiten und für das Herunterladen, Bereitstellen, Konfigurieren und Verwalten des Plug-ins verantwortlich sind. Es wird davon ausgegangen, dass Sie mit Linux-Betriebssystemen, mit den Grundlagen des Web-Crawlings, mit XML und mit dem Norconex HTTP Collector vertraut sind.

In diesem Artikel finden Sie Anleitungen zu den folgenden Hauptaufgaben, die für das Deployment des Indexierungs-Plug-ins nötig sind:

  • Software für das Indexierungs-Plug-in herunterladen
  • Google Cloud Search konfigurieren
  • Norconex HTTP Collector und Web-Crawling konfigurieren
  • Web-Crawling und Upload von Inhalten starten

In diesem Leitfaden erhalten Sie jedoch keine Informationen dazu, wie Google Cloud Search dem Indexierungs-Plug-in für den Norconex HTTP Collector zugeordnet wird. Weitere Informationen dazu finden Sie unter Integration von Drittanbietern.

Das Indexierungs-Plug-in für den Norconex HTTP Collector

Mit Cloud Search können Sie in Google Workspace-Diensten wie Google Docs und Gmail nach Inhalten suchen und diese indexieren sowie bereitstellen. Wenn Sie das Indexierungs-Plug-in für den Norconex HTTP Collector bereitstellen, können Sie die Reichweite von Google Cloud Search auf Webinhalte ausweiten. Das Plug-in ist ein Open-Source-Web-Crawler für Unternehmen.

Konfigurationsattributdateien

Damit mithilfe des Indexierungs-Plug-ins Web-Crawls ausgeführt und Inhalte in die Indexierungs-API hochgeladen werden können, müssen Sie als Administrator des Indexierungs-Plug-ins während der Konfigurationsschritte bestimmte Informationen für den Connector angeben. Die dafür notwendigen Schritte werden in dieser Anleitung im Abschnitt Deployment beschrieben.

Damit das Indexierungs-Plug-in verwendet werden kann, müssen Sie Attribute in zwei Konfigurationsdateien festlegen:

  • {gcs-crawl-config.xml}: enthält Einstellungen für den Norconex HTTP Collector.
  • sdk-configuration.properties: enthält Einstellungen für Google Cloud Search.

Die Attribute in jeder Datei ermöglichen die Kommunikation zwischen dem Indexierungs-Plug-in für Google Cloud Search und dem Norconex HTTP Collector.

Web-Crawling und Upload von Inhalten

Nachdem Sie die Konfigurationsdateien vorbereitet haben, können Sie das Web-Crawling starten. Der Norconex HTTP Collector crawlt das Web, erfasst seiner Konfiguration entsprechend Dokumentinhalte und lädt die ursprüngliche Binär- oder Textversion der Inhalte in die Indexierungs-API von Cloud Search hoch. Dort werden die Inhalte indexiert und Nutzern zur Verfügung gestellt.

Unterstütztes Betriebssystem

Das Indexierungs-Plug-in für den Norconex HTTP Collector muss unter Linux installiert werden.

Unterstützte Version des Norconex HTTP Collectors

Das Indexierungs-Plug-in für Google Cloud Search unterstützt Version 2.8.0 des Norconex HTTP Collectors.

ACL-Unterstützung

Im Indexierungs-Plug-in kann mithilfe von Zugriffssteuerungslisten der Zugriff auf Dokumente in der Google Workspace-Domain mit Zugriffssteuerungslisten (Access Control Lists, ACLs) gesteuert werden.

Wenn Standard-ACLs in der Plug-in-Konfiguration von Google Cloud Search aktiviert sind (defaultAcl.mode ist mit defaultAcl.* konfiguriert und nicht auf none festgelegt), wird zuerst versucht, mit dem Indexierungs-Plug-in eine Standard-ACL zu erstellen und anzuwenden.

Wenn Standard-ACLs nicht aktiviert sind, besteht über das Plug-in wieder Lesezugriff für die gesamte Google Workspace-Domain.

Ausführliche Beschreibungen der Konfigurationsparameter für ACLs finden Sie im Artikel zu den von Google bereitgestellten Connectorparametern.

Vorbereitung

Für das Deployment des Indexierungs-Plug-ins benötigen Sie die folgenden Komponenten:

  • Java JRE 1.8, installiert auf einem Computer, auf dem das Indexierungs-Plug-in ausgeführt wird
  • Die folgenden Google Workspace-Informationen. Sie sind erforderlich, um Beziehungen zwischen Cloud Search und dem Norconex HTTP Collector herzustellen:

    Normalerweise erhalten Sie diese Informationen vom Google Workspace-Administrator der Domain.

Deployment

So stellen Sie das Indexierungs-Plug-in bereit:

  1. Installieren Sie den Norconex HTTP Collector und das Indexierungs-Plug-in.
  2. Google Cloud Search konfigurieren
  3. Norconex HTTP Collector konfigurieren
  4. Web-Crawling konfigurieren
  5. Web-Crawling und Upload von Inhalten starten

Schritt 1: Norconex HTTP Collector und das Indexierungs-Plug-in installieren

  1. Laden Sie die Norconex Commiter-Software von dieser Seite herunter.
  2. Entpacken Sie die heruntergeladene Software in den Ordner ~/norconex/.
  3. Klonen Sie das Commiter-Plug-in von GitHub: git clone https://github.com/google-cloudsearch/norconex-committer-plugin.git und dann cd norconex-committer-plugin
  4. Checken Sie die gewünschte Version des Commiter-Plug-ins aus und erstellen Sie die ZIP-Datei: git checkout tags/v1-0.0.3 und mvn package. Wenn Sie die Tests beim Erstellen des Connectors überspringen möchten, verwenden Sie mvn package -DskipTests.
  5. cd target
  6. Kopieren Sie die erstellte Plug-in-JAR-Datei in das lib-Verzeichnis von Norconex. cp google-cloudsearch-norconex-committer-plugin-v1-0.0.3.jar ~/norconex/norconex-collector-http-{version}/lib
  7. Extrahieren Sie die soeben erstellte ZIP-Datei und entpacken Sie sie: unzip google-cloudsearch-norconex-committer-plugin-v1-0.0.3.zip
  8. Führen Sie das Installationsskript aus, um die JAR-Datei des Plug-ins und alle erforderlichen Bibliotheken in das Verzeichnis des HTTP Collectors zu kopieren:
    1. Wechseln Sie zum soeben extrahierten Commiter-Plug-in: cd google-cloudsearch-norconex-committer-plugin-v1-0.0.3
    2. Führen Sie $ sh install.sh aus und geben Sie bei Aufforderung den vollständigen Pfad zu norconex/norconex-collector-http-{version}/lib als Zielverzeichnis an.
    3. Wenn doppelte JAR-Dateien gefunden werden, wählen Sie die Option 1 aus. Die Quell-JAR-Datei wird dann nur kopiert, wenn die Version nach der Umbenennung der Ziel-JAR-Datei höher oder gleich ist.

Schritt 2: Google Cloud Search konfigurieren

Damit das Indexierungs-Plug-in eine Verbindung zum Norconex HTTP Collector herstellen und den relevanten Inhalt indexieren kann, müssen Sie die Cloud Search-Konfigurationsdatei im Norconex-Verzeichnis erstellen, in dem der Norconex HTTP Collector installiert ist. Google empfiehlt, dass Sie die Cloud Search-Konfigurationsdatei sdk-configuration.properties nennen.

Diese Konfigurationsdatei muss Schlüssel/Wert-Paare enthalten, die einen Parameter definieren. In der Konfigurationsdatei müssen mindestens die folgenden Parameter angegeben werden, denn sie sind für den Zugriff auf die Cloud Search-Datenquelle erforderlich.

Einstellung Parameter
Datenquellen-ID api.sourceId = 1234567890abcdef
Erforderlich. Die ID der Cloud Search-Quelle, die vom Google Workspace-Administrator eingerichtet wurde.
Dienstkonto api.serviceAccountPrivateKeyFile = ./PrivateKey.json
Erforderlich. Die Schlüsseldatei des Cloud Search-Dienstkontos, die vom Google Workspace-Administrator für den Zugriff auf Indexierungs-Plug-ins erstellt wurde.

Im folgenden Beispiel sehen Sie eine sdk-configuration.properties-Datei.

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

Die Konfigurationsdatei kann auch von Google bereitgestellte Konfigurationsparameter enthalten. Diese Parameter können sich darauf auswirken, wie das Plug-in Daten in die Google Cloud Search API überträgt. Der Parametersatz batch.* gibt beispielsweise an, wie der Connector Anfragen kombiniert.

Wenn Sie in der Konfigurationsdatei keinen Parameter definieren, wird der Standardwert verwendet, falls es einen gibt. Ausführliche Beschreibungen der einzelnen Parameter finden Sie im Artikel zu den von Google bereitgestellten Connectorparametern.

Sie können das Indexierungs-Plug-in so konfigurieren, dass bei der Indexierung von Daten auch Metadaten und strukturierte Daten übertragen werden. Die zu befüllenden Werte für Metadaten und strukturierte Daten können entweder aus Metatags in zu indexierenden HTML-Inhalten extrahiert oder aus in der Konfigurationsdatei hinterlegten Standardwerten entnommen werden.

Einstellung Parameter
Titel itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind
Standardmäßig verwendet das Plug-in HTML title als Titel des zu indexierenden Dokuments. Wenn der Titel fehlt, können Sie entweder auf das Metadatenattribut verweisen, das den Wert enthält, der dem Dokumenttitel entspricht, oder einen Standardwert festlegen.
Zeitstempel der Erstellung itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
Das Metadatenattribut, das den Wert für den Zeitstempel bei Dokumenterstellung enthält.
Zeitpunkt der letzten Aktualisierung itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
Das Metadatenattribut, das den Wert für den Zeitstempel der letzten Änderung am Dokument enthält.
Dokumentsprache itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US
Die Inhaltssprache der indexierten Dokumente.
Schema-Objekttyp itemMetadata.objectType=movie
Der Objekttyp, der von der Website verwendet wird, wie im Artikel Schema erstellen und registrieren beschrieben. Der Connector indexiert keine strukturierten Daten, wenn dieses Attribut nicht angegeben ist.

Hinweis: Dieses Konfigurationsattribut bezieht sich auf einen Wert, nicht auf ein Metadatenattribut. Die Suffixe .field und .defaultValue werden nicht unterstützt.

Datum/Uhrzeit-Formate

Diese Formate geben die in Metadatenattributen erwarteten Formate an. Wenn dieser Parameter nicht in der Konfigurationsdatei enthalten ist, werden Standardwerte verwendet. In der folgenden Tabelle finden Sie eine Beschreibung dieses Parameters:

Einstellung

Parameter

Zusätzliche Muster für „Datum/Uhrzeit“

structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX

Eine durch Semikolons getrennte Liste zusätzlicher Muster des Typs java.time.format.DateTimeFormatter. Diese werden verwendet, wenn für Datums- oder Datum-Uhrzeit-Felder in den Metadaten oder im Schema Stringwerte geparst werden. Standardmäßig ist die Liste leer. Die Formate RFC 3339 und RFC 1123 werden jedoch immer unterstützt.

Schritt 3: Norconex HTTP Collector konfigurieren

Das ZIP-Archiv norconex-committer-google-cloud-search-{version}.zip enthält die Beispielkonfigurationsdatei minimum-config.xml.

Wir empfehlen, dass Sie mit der Konfiguration beginnen, indem Sie die folgende Beispieldatei kopieren:

  1. Wechseln Sie in das Verzeichnis des Norconex HTTP Collectors:
    $ cd ~/norconex/norconex-collector-http-{version}/
  2. Kopieren Sie die Konfigurationsdatei:
    $ cp examples/minimum/minimum-config.xml gcs-crawl-config.xml
  3. Bearbeiten Sie die neu erstellte Datei, in diesem Beispiel gcs-crawl-config.xml. Fügen Sie außerdem wie in der folgenden Tabelle beschrieben vorhandene <committer>- und <tagger>-Knoten hinzu oder ersetzen Sie sie.
Einstellung Parameter
<committer> node <committer class="com.norconex.committer.googlecloudsearch. GoogleCloudSearchCommitter">

Erforderlich. Wenn Sie das Plug-in aktivieren möchten, müssen Sie einen <committer>-Knoten als untergeordnetes Element des <httpcollector>-Stammknotens hinzufügen.
<UploadFormat> <uploadFormat>raw</uploadFormat>
Optional. Das Format, in dem das Indexierungs-Plug-in Dokumentinhalt an die Indexierungs-API von Google Cloud Search überträgt. Gültige Werte sind:
  • raw: Der ursprüngliche, nicht konvertierte Dokumentinhalt wird vom Indexierungs-Plug-in übertragen.
  • text: Der extrahierte Textinhalt wird vom Indexierungs-Plug-in übertragen.

Der Standardwert ist raw.
BinaryContent Tagger <tagger> node <tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
Pflichtangabe, wenn der Wert von <UploadFormat>raw“ lautet. In diesem Fall benötigt das Indexierungs-Plug-in das binäre Inhaltsfeld des Dokuments, um verfügbar zu sein.

Sie müssen den Knoten BinaryContentTagger <tagger> als untergeordnetes Element des Knotens <importer> / <preParseHandlers> hinzufügen.

Das folgende Beispiel zeigt die erforderliche Änderung an 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>

Schritt 4: Web-Crawling konfigurieren

Bevor Sie ein Web-Crawling starten, müssen Sie den Crawler so konfigurieren, dass er nur Informationen erfasst, die Ihre Organisation in den Suchergebnissen verfügbar machen möchte. Die wichtigsten Einstellungen für das Web-Crawling sind Teil der <crawler>-Knoten und können Folgendes enthalten:

  • Start-URLs
  • Maximale Tiefe des Crawlings
  • Anzahl der Threads

Ändern Sie diese Konfigurationswerte Ihren Anforderungen entsprechend. Weitere Informationen zum Einrichten eines Web-Crawlings und eine vollständige Liste der verfügbaren Konfigurationsparameter finden Sie auf der Konfigurationsseite des HTTP Collectors.

Schritt 5: Web-Crawling und Inhaltsupload starten

Nachdem Sie das Indexierungs-Plug-in installiert und eingerichtet haben, können Sie es im lokalen Modus eigenständig ausführen.

Im folgenden Beispiel befinden sich die erforderlichen Komponenten im lokalen Verzeichnis eines Linux-Systems. Führen Sie dazu diesen Befehl aus:

$ ./collector-http[.bat|.sh] -a start -c gcs-crawl-config.xml

Crawler mit JEF Monitor überwachen

Norconex JEF Monitor (Job Execution Framework) ist ein grafisches Tool, mit dem sich der Fortschritt der Prozesse und Jobs des Norconex Web Crawlers (HTTP Collector) überwachen lassen. Eine vollständige Anleitung zum Einrichten dieses Dienstprogramms finden Sie in der Norconex-Dokumentation.