Wie man Elastic Enterprise Search mit GitHub verwendet

Wie man Elastic Enterprise Search mit GitHub verwendet

  • ITOps & DevOps
6 Minuten Lesezeit Aktualisiert Jan 23, 2020

Auf einen Blick: Elastic Enterprise Search ermöglicht das Abfragen von GitHub-Organisationsrepositories in natürlicher Sprache. Um dies einzurichten, müssen Nutzer eine GitHub OAuth-App erstellen, Einstellungen konfigurieren und relevante Datenquellen indexieren.

  • Unterstützt verschiedene Datenquellen wie Dropbox und Google Docs.
  • Benötigt GitHub-Organisations-Repositories für Suchanfragen.

Die Firma Elastic hat Swiftype für sein Produktportfolio übernommen und es als Elastic Enterprise Search bezeichnet. Dieses Produkt ermöglicht es Nutzern, eine Vielzahl von Datenquellen abzufragen, darunter öffentliche Quellen sowie interne Unternehmensdokumente und Datenquellen. Wir haben zuvor erklärt, wie man Enterprise Search installiert. In diesem Artikel werde ich zeigen, wie es funktioniert, indem ich es mit GitHub verbinde.

Überblick: Wie Elastic Enterprise Search funktioniert

Enterprise Search bietet Nutzern die Möglichkeit, Datenquellen in natürlicher Sprache abzufragen. Sie ist besonders nützlich in Organisationen, die interne Dokumente teilen. Beliebte Quellen, die Sie mit Enterprise Search abfragen können, sind:

  • Dropbox
  • Google Docs
  • GitHub
  • Microsoft OneDrive
  • Jira
  • Salesforce
  • Benutzerdefinierte Quellen (über APIs)

Enterprise Search funktioniert, indem sie Suchdaten in ElasticSearch indexiert und sich mit OAuth, einem Industriestandard zur Authentifizierung von Apps, mit der Datenquelle verbindet. Um OAuth zu verstehen, mag ich es, wenn man Facebook- oder Google-Zugangsdaten verwendet, um eine App zu untersuchen.

Hinweis zu GitHub-Einschränkungen

Sie können Enterprise Search nicht mit Ihrem eigenen persönlichen GitHub-Repository verwenden. Stattdessen müssen Sie ein organisatorisches Repository verwenden. Mit anderen Worten: Wenn Sie ein Mitarbeiter namens Fred sind, der bei Smith Airlines arbeitet, können Sie Smith Airlines durchsuchen. Sie können Fred nicht suchen. Das ergibt Sinn, da Enterprise Search für ein Unternehmen und nicht für eine einzelne Person konzipiert ist.

Einrichtung von Elastic Enterprise Search

Befolgen Sie diese Schritte, um Elastic Enterprise Search einzurichten.

  1. Erstellen Sie eine OAuth-App in GitHub. Hier definieren Sie die Callback-URLs, die auf Ihre Enterprise Search Installation verweisen. Sie erstellt außerdem die Client-ID und das Client Secret, die benötigt werden, um sich mit Enterprise Search zu verbinden.
  2. Erstellen Sie die GitHub-Quelle in Enterprise Search.
  3. Enterprise Search fragt GitHub nach Aktivitäten ab.
  4. Fang an zu suchen.

Konfiguration von GitHub OAuth-Einstellungen

Melden Sie sich bei GitHub an und klicken Sie auf Einstellungen --> Entwicklereinstellung für das Repository. Achten Sie darauf, auf die Einstellungen des Organisations-Repositorys zu klicken und nicht auf Ihre persönlichen Einstellungen. In diesem Beispiel ist das Repository walkerrowe:

Geh zu den Entwicklereinstellungen und erstelle dann eine neue OAuth-App.

Gib ihm einen Namen. Für die Rückruf-URL verwenden Sie diese Links:

Startseite URL https://(dein Server):3002
Autorisierungs-Rückruf-URL http://(dein Server):3002/ent/

Hinweis: Die Swiftype-Dokumentation erwähnt localhost. Verwenden Sie das nicht. (GitHub kann Ihren localhost nicht erreichen.) Stattdessen muss es die öffentliche IP-Adresse Ihres Enterprise Search Servers oder die private IP sein, wenn Sie GitHub intern ausführen. Sie müssen den Firewall-Port 3002 öffnen.

Klicken Sie auf Application registrieren und notieren Sie die Client-ID und das Client-Geheimnis. Sie geben diese Zugangsdaten in Enterprise Search ein.

GitHub-Quelle in der Elastic Enterprise-Suche hinzufügen Klicken Sie auf Quelle hinzufügen.

Wähle GitHub aus.

Dann folgen Sie den Bildschirmen. Wenn Sie bereits bei GitHub angemeldet sind, wird es versuchen, diese Zugangsdaten zu verwenden. Also, melden Sie sich von GitHub ab.

Fülle die Client-ID und das Geheimnis aus. Du gibst die URL nicht wie github.com/ (deine Organisation) ein. Stattdessen lokalisiert GitHub dein Repository anhand deiner Client-ID.

Wie du sehen würdest, wenn du dich mit Facebook oder Google in eine Anwendung einloggst, bittet GitHub dich um die Erlaubnis, die beiden zu verbinden. Wenn du hier eine Fehlermeldung bekommst, schau dir die oben angegebene Rückruf-URL an. GitHub muss diese von den GitHub-Servern aus erreichen können.

Klicken Sie sich durch diesen Bildschirm.

Änderung der Konfiguration und Behandlung von Debug-Fehlern

Wenn Sie einen Fehler machen, klicken Sie nicht erneut auf "Quelle hinzufügen". Gehen Sie stattdessen in die Einstellungen in Enterprise Search, ebenfalls im linken Menü.

Wählen Sie dann die unten gezeigte Schaltfläche zum Konfigurieren aus

Die Verifizierung deiner Verbindung funktioniert

Du solltest jetzt etwas Aktivität sehen:

Suche

Seltsamerweise ist der Suchbildschirm in Enterprise Search versteckt. Er befindet sich nicht auf der Hauptplattform http:// (Ihrem Server):3002. Suchen Sie stattdessen auf der linken Seite nach Go to Search App.

Ihre Suchsyntax ist in natürlicher Sprache, aber du musst bestimmte Schlüsselwörter verwenden (siehe Hilfe zur Suchsyntax). Das ist noch nicht gut dokumentiert. Wenn ich tippe:

Der Schöpfer ist Walkerrowe

  Es zeigt diese Objekte:

Dann habe ich den Namen eines von mir erstellten Repositoriums eSearch eingegeben. Es wurde dieser Bildschirm angezeigt. Klicke auf das Element und es gibt dir die Möglichkeit, es in GitHub anzusehen.

Du kannst im Enterprise Search Searcher's Manual für Suchsyntax nachsehen, aber dort gibt es nur sehr wenige Beispiele. Zum Beispiel steht darin, dass beim Tippen einer Suchfrage Wörter markiert werden, die sie in Blau findet. Das hat bei mir mit Chrome auf dem Mac nicht funktioniert. Es scheint auch Dateien zu durchsuchen, aber nicht den Inhalt der Dateien. Mit anderen Worten, es indexiert nicht jedes Wort in deinen Google Docs oder Sheets. Da die Dokumentation spärlich ist, solltest du Fragen zur Enterprise Search Community stellen.

Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.

Mehr aus ITOps & DevOps

Interessieren Sie sich für mehr von BMC?

The Brief ist unsere monatliche E-Mail zum Mainframe und zur Enterprise-Orchestrierung: Recherchen, Kundenberichte, Produktnachrichten, Events.

Mit der Registrierung für dieses Angebot bestätigen Sie, dass Sie die Datenschutzrichtlinie von BMC gelesen und zugestimmt haben.

Sie haben The Brief abonniert

Das Briefing umfasst die Mainframe- und Enterprise-Orchestrierung – BMC AMI und Control-M – sowie die Analystenforschung, Kundeneinsätze und Events in beiden Bereichen.