Auf dieser Seite der Cloud Search-Anleitung erfahren Sie, wie Sie eine Datenquelle einrichten. und Inhalts-Connector für die Indexierung von Daten. Den Anfang dieses Tutorials finden Sie unter Tutorial: Einführung in Cloud Search
Connector erstellen
Ändern Sie Ihr Arbeitsverzeichnis in das cloud-search-samples/end-to-end/connector
und führen Sie den folgenden Befehl aus:
mvn package -DskipTests
Der Befehl lädt die erforderlichen Abhängigkeiten herunter, die zum Erstellen des Inhalts-Connector und kompiliert den Code.
Anmeldedaten für ein Dienstkonto erstellen
Der Connector benötigt Anmeldedaten für das Dienstkonto, um Cloud Search aufzurufen APIs So erstellen Sie die Anmeldedaten:
- Zurück zum Google Cloud Console:
- Klicken Sie im linken Navigationsmenü auf Anmeldedaten. Die „Qualifikation“ angezeigt.
- Klicken Sie auf die Drop-down-Liste + ANMELDEDATEN ERSTELLEN und wählen Sie Dienstkonto. Das „Dienstkonto erstellen“ angezeigt.
- Geben Sie im Feld Name des Dienstkontos „tutorial“ ein.
- Notieren Sie sich den Wert der Dienstkonto-ID (direkt nach dem Namen des Dienstkontos). Dieser Wert wird später verwendet.
- Klicke auf ERSTELLEN. „Dienstkontoberechtigungen (optional)“ wird angezeigt.
- Klicke auf WEITER. Die Schaltfläche „Nutzern Zugriff auf dieses Dienstkonto gewähren (optional)" wird angezeigt.
- Klicken Sie auf FERTIG. Die „Anmeldedaten“ erscheint.
- Klicken Sie unter „Dienstkonten“ auf die E‐Mail-Adresse des Dienstkontos. Der „Service“ Kontodetails“ angezeigt wird.
- Klicken Sie unter „Schlüssel“ auf die Drop-down-Liste SCHLÜSSEL HINZUFÜGEN und wählen Sie Neuen Schlüssel erstellen Das Feld „Privaten Schlüssel erstellen“ wird angezeigt.
- Klicke auf ERSTELLEN.
- Optional: Wenn die Option "Möchten Sie Downloads auf console.cloud.google.com?” auf Zulassen.
- Eine Datei mit dem privaten Schlüssel wird auf Ihrem Computer gespeichert. Notieren Sie sich den Standort. der heruntergeladenen Datei. Damit wird der Inhaltsconnector so konfiguriert, kann es sich beim Aufrufen der Google Cloud Search APIs authentifizieren.
Unterstützung von Drittanbietern initialisieren
Bevor Sie andere Cloud Search APIs aufrufen können, müssen Sie Unterstützung für Google Cloud Search.
So initialisieren Sie die Unterstützung von Drittanbietern für Cloud Search:
Ihr Projekt für die Cloud Search-Plattform enthält Anmeldedaten für ein Dienstkonto. Um den Drittanbieter-Support zu initialisieren, müssen Sie jedoch Anmeldedaten für die Anwendung. Anweisungen zum Erstellen einer Webanwendung finden Sie unter Anmeldedaten erstellen Nach Abschluss dieses Schritts sollten Sie eine Client-ID und eine Clientschlüsseldatei haben.
Verwenden Sie OAuth 2.0 von Google , um ein Zugriffstoken zu erhalten:
- Klicken Sie auf „Settings“ (Einstellungen) und aktivieren Sie die Option User your own auth credentials (Eigene Anmeldedaten verwenden).
- Geben Sie die Client-ID und den Clientschlüssel aus Schritt 1 ein.
- Klicken Sie auf Schließen.
- Geben Sie im Feld mit den Bereichen
https://www.googleapis.com/auth/cloud_search.settings
ein. und klicken Sie auf Autorisieren. Der OAuth 2 Playground gibt einen Autorisierungscode zurück. - Klicken Sie auf Autorisierungscode für Tokens austauschen. Ein Token wird zurückgegeben.
Initialisieren Sie die Unterstützung von Drittanbietern für Cloud Search mit folgendem curl-Befehl . Ersetzen Sie
[YOUR_ACCESS_TOKEN]
durch das Token aus der Schritt 2.curl --request POST \ 'https://cloudsearch.googleapis.com/v1:initializeCustomer' \ --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{}' \ --compressed
Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von
operation
. Beispiel:{ name: "operations/customers/01b3fqdm/lro/AOIL6eBv7fEfiZ_hUSpm8KQDt1Mnd6dj5Ru3MXf-jri4xK6Pyb2-Lwfn8vQKg74pgxlxjrY" }
Ist dies nicht erfolgreich, wenden Sie sich an den Cloud Search-Support.
Verwenden Sie operations.get, um zu überprüfen, ob Unterstützung von Drittanbietern wird initialisiert:
curl \ 'https://cloudsearch.googleapis.com/v1/operations/customers/01b3fqdm/lro/AOIL6eBv7fEfiZ_hUSpm8KQDt1Mnd6dj5Ru3MXf-jri4xK6Pyb2-Lwfn8vQKg74pgxlxjrY?key= [YOUR_API_KEY]' \ --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \ --header 'Accept: application/json' \ --compressed
Wenn die Initialisierung des Drittanbieters abgeschlossen ist, enthält sie Das Feld
done
wurde auftrue
festgelegt. Beispiel:{ name: "operations/customers/01b3fqdm/lro/AOIL6eBv7fEfiZ_hUSpm8KQDt1Mnd6dj5Ru3MXf-jri4xK6Pyb2-Lwfn8vQKg74pgxlxjrY" done: true }
Datenquelle erstellen
Erstellen Sie als Nächstes in der Admin-Konsole eine Datenquelle. Die Datenquelle stellt einen Namespace für die Indexierung von Inhalten mit dem Connector bereit.
- Öffnen Sie die Admin-Konsole.
- Klicken Sie auf das Apps-Symbol. Die Seite „App-Verwaltung“ angezeigt.
- Klicken Sie auf Google Workspace. Der Bereich „Apps – Google Workspace-Verwaltung“ angezeigt.
- Scrollen Sie nach unten und klicken Sie auf Cloud Search. Die Einstellungen für Google Workspace Seite angezeigt wird.
- Klicken Sie auf Datenquellen von Drittanbietern. Unter „Datenquellen“ angezeigt.
- Klicken Sie auf das runde gelbe +. Auf dem Tab „Neue Datenquelle hinzufügen“ wird angezeigt.
- Geben Sie im Feld Anzeigename „tutorial“ ein.
- Geben Sie im Feld E-Mail-Adressen des Dienstkontos die E-Mail-Adresse des Dienstkonto, das Sie im vorherigen Abschnitt erstellt haben. Falls Sie nicht wissen, E-Mail-Adresse des Dienstkontos, suchen Sie den Wert in die Dienstkonten Seite.
- Klicken Sie auf HINZUFÜGEN. Das Feld „Datenquelle wurde erstellt“ wird angezeigt.
- Klicken Sie auf *OK. Notieren Sie sich die Quellen-ID der neu erstellten Datenquelle. Die Mit der Quellen-ID wird der Inhaltsconnector konfiguriert.
Persönliches Zugriffstoken für die GitHub API generieren
Der Connector benötigt einen authentifizierten Zugriff auf die GitHub API, damit um ein ausreichendes Kontingent zu haben. Der Einfachheit halber nutzt der Connector persönliche Zugriffstokens statt OAuth verwenden. Persönliche Tokens ermöglichen die Authentifizierung als Nutzer mit eingeschränkten Berechtigungen, ähnlich wie OAuth.
- Melden Sie sich in GitHub an.
- Klicke oben rechts auf dein Profilbild. Ein Drop-down-Menü wird angezeigt.
- Klicken Sie auf Einstellungen.
- Klicken Sie auf Entwicklereinstellungen.
- Klicken Sie auf Persönliche Zugriffstokens.
- Klicken Sie auf Generate personal access token (Persönliches Zugriffstoken generieren).
- Geben Sie in das Feld Note (Hinweis) „Cloud Search tutorial“ ein.
- Prüfen Sie den Bereich public_repo.
- Klicken Sie auf Token generieren.
- Notieren Sie sich das generierte Token. Er wird vom Connector verwendet, um das GitHub-Objekt aufzurufen. APIs und stellt API-Kontingente für die Indexierung bereit.
Connector konfigurieren
Nachdem Sie die Anmeldedaten und die Datenquelle erstellt haben, aktualisieren Sie den Connector. konfigurieren, um diese Werte einzubeziehen:
- Ändern Sie in der Befehlszeile das Verzeichnis in
cloud-search-samples/end-to-end/connector/
- Öffnen Sie die Datei
sample-config.properties
in einem Texteditor. - Legen Sie den
api.serviceAccountPrivateKeyFile
-Parameter auf den Dateipfad der die Sie zuvor heruntergeladen haben. - Legen Sie den Parameter
api.sourceId
auf die ID der Datenquelle fest, erstellt wurde. - Legen Sie für den Parameter
github.user
Ihren GitHub-Nutzernamen fest. - Legen Sie für den Parameter
github.token
das zuvor erstellte Zugriffstoken fest. - Speichern Sie die Datei.
Schema aktualisieren
Der Connector indexiert sowohl strukturierte als auch unstrukturierte Inhalte. Vor der Indexierung müssen Sie das Schema für die Datenquelle aktualisieren. Führen Sie den folgenden Befehl aus: um das Schema zu aktualisieren:
mvn exec:java -Dexec.mainClass=com.google.cloudsearch.tutorial.SchemaTool \
-Dexec.args="-Dconfig=sample-config.properties"
Connector ausführen
Führen Sie den folgenden Befehl aus, um den Connector auszuführen und mit der Indexierung zu beginnen:
mvn exec:java -Dexec.mainClass=com.google.cloudsearch.tutorial.GithubConnector \
-Dexec.args="-Dconfig=sample-config.properties"
In der Standardkonfiguration wird vom Connector ein einzelnes Repository indexiert
in der Organisation googleworkspace
. Die Indexierung des Repositorys dauert etwa eine Minute.
Nach der ersten Indexierung fragt der Connector weiterhin Änderungen am
die im Cloud Search-Index berücksichtigt werden müssen.
Code prüfen
In den verbleibenden Abschnitten wird der Aufbau des Connectors erläutert.
Anwendung starten
Der Einstiegspunkt für den Connector ist die Klasse GithubConnector
. Die
Mit der Methode main
wird IndexingApplication
des SDKs instanziiert
und startet ihn.
Die ListingConnector
wird eine Durchlaufstrategie implementiert, die vom SDK bereitgestellt wird.
die Cloud Search-Warteschlangen nutzt
zum Verfolgen des Status von Elementen im Index. Delegiert wird an GithubRepository
,
der vom Beispiel-Connector für den Zugriff auf Inhalte aus GitHub implementiert wurde.
GitHub-Repositories durchlaufen
Bei Durchläufen mit vollständiger Indexierung führt der getIds()
wird aufgerufen, um die zu indexierenden Elemente in die Warteschlange zu verschieben.
Der Connector kann mehrere Repositories oder Organisationen indexieren. Um die Auswirkungen
Auswirkungen eines Ausfalls, wird jeweils nur ein GitHub-Repository durchlaufen. Einen Prüfpunkt
wird zurückgegeben, wobei die Ergebnisse des Durchlaufs die Liste
Repositories, die bei nachfolgenden Aufrufen von getIds()
indexiert werden sollen. Wenn ein Fehler
erfolgt, wird die Indexierung im aktuellen Repository fortgesetzt, anstatt die Indexierung zu starten
von Anfang an.
Mit der Methode collectRepositoryItems()
wird der Durchlauf
GitHub-Repository. Diese Methode gibt eine Sammlung von ApiOperations
zurück.
für die Elemente,
die in die Warteschlange verschoben werden sollen. Elemente werden als
Ressourcenname und einen Hashwert, der den aktuellen Status des Elements darstellt.
Der Hashwert wird bei nachfolgenden Durchläufen des GitHub Repositories. Dieser Wert bietet eine einfache Prüfung, um festzustellen, ohne zusätzlichen Content hochladen zu müssen. Den Anschluss blind lassen stellt alle Elemente in die Warteschlange. Wenn das Element neu ist oder sich der Hashwert geändert hat, zum Abfragen in der Warteschlange verfügbar. Andernfalls gilt das Element als unverändert.
Warteschlange verarbeiten
Nach Abschluss des vollständigen Durchlaufs beginnt der Connector mit dem Abfragen des
für Elemente, die indexiert werden müssen. Die getDoc()
für jedes aus der Warteschlange abgerufene Element aufgerufen. Die Methode liest
das Element aus GitHub und konvertiert es in die richtige Darstellungsform
für die Indexierung.
Der Connector wird für Live-Daten ausgeführt, die sich jederzeit ändern können.
Zeit, überprüft getDoc()
auch, ob das Element in der Warteschlange noch gültig ist
und löscht alle nicht mehr vorhandenen Elemente aus dem Index.
Für jedes vom Connector indexierte GitHub-Objekt sowie das entsprechende
Die Methode indexItem()
erstellt die Elementdarstellung für
Cloud Search So erstellen Sie beispielsweise die Darstellung von Inhaltselementen:
Stellen Sie als Nächstes die Suchoberfläche bereit.