ポイント: Elastic Enterprise Searchは、自然言語を使用してGitHubの組織リポジトリをクエリすることを可能にします。これを設定するには、ユーザーはGitHub OAuthアプリを作成し、設定を構成し、関連するデータソースをインデックスする必要があります。
- DropboxやGoogle Docsなどのさまざまなデータソースをサポートします。
- 検索にはGitHubの組織リポジトリが必要です。
Elastic Companyは、製品ポートフォリオのためにSwiftypeを買収し、Elastic Enterprise Searchとしてブランド化しました。この製品は、ユーザーが公開ソースや内部の会社文書やデータソースを含むさまざまなデータソースをクエリする能力を提供します。以前に、Enterprise Searchのインストール方法を説明しました。この記事では、GitHubに接続することでその動作を示します。
概要: Elastic Enterprise Searchの動作
Enterprise Searchは、ユーザーが自然言語を使用してデータソースをクエリする能力を提供します。これは、内部文書を共有する組織内で特に役立ちます。Enterprise Searchでクエリできる人気のソースには以下が含まれます:
- Dropbox
- Google Docs
- GitHub
- Microsoft OneDrive
- Jira
- Salesforce
- カスタムソース(API経由)
Enterprise Searchは、ElasticSearchで検索データをインデックスし、OAuthを使用してデータソースに接続することによって機能します。OAuthを理解するために、私はそれをFacebookやGoogleの資格情報を使用してアプリを調べる時に似ていると考えます。
GitHubの制限に関する注意
Enterprise Searchを自分の個人GitHubリポジトリで使用することはできません。代わりに、組織リポジトリを使用する必要があります。言い換えれば、もしあなたがFredという名前の従業員で、Smith Airlinesで働いているなら、Smith Airlinesを検索できます。Fredを検索することはできません。それは、Enterprise Searchが単一の個人ではなく企業向けに設計されているため、理にかなっています。
Elastic Enterprise Searchの設定
Elastic Enterprise Searchを設定するための手順は以下の通りです。
- GitHubでOAuthアプリを作成します。ここで、Enterprise Searchインストールを指すコールバックURLを定義します。また、Enterprise Searchに接続するために必要なクライアントIDとクライアントシークレットも作成します。
- Enterprise SearchでGitHubソースを作成します。
- Enterprise SearchがGitHubのアクティビティをポーリングします。
- 検索を開始します。
GitHub OAuth設定の構成
GitHubにログインし、設定 --> リポジトリの開発者設定をクリックします。必ず組織リポジトリの設定をクリックし、個人設定ではないことを確認してください。この例ではリポジトリはwalkerrowe:
開発者設定に移動してから、新しいOAuthアプリを作成します。
名前を付けてください。コールバックURLには、これらのリンクを使用してください:
| ホームページURL | https://(your server):3002 |
| 認証コールバックURL | http://(your server):3002/ent/ |
注意: Swiftypeの文書にはlocalhost.が言及されています。それを使用しないでください。(GitHubはあなたのlocalhostに到達できません。)代わりに、それはあなたのEnterprise Searchサーバーの公開IPアドレスである必要があります。内部でGitHubを実行している場合はプライベートIPです。ファイアウォールポート3002を開く必要があります。
アプリケーションを登録をクリックし、クライアントIDとクライアントシークレットをメモします。これらの資格情報をEnterprise Searchに入力します。
Elastic Enterprise SearchにGitHubソースを追加 ソースを追加をクリックします。
GitHubを選択します。
次に画面に従ってください。GitHubにすでにログインしている場合、それらの資格情報を使用しようとします。したがって、GitHubからログアウトします。
クライアントIDとシークレットを入力します。URLのようにgithub.com/(あなたの組織)を入力するのではありません。代わりにGitHubはあなたのクライアントIDによってリポジトリを特定します。
FacebookやGoogleを使用してアプリにログインしている場合に見られるように、GitHubは接続するための許可を求めてきます。ここでエラーメッセージが表示された場合は、上記に入力したコールバックURLを確認してください。GitHubはGitHubサーバーからそれに到達できる必要があります。
この画面をクリックします。
構成の変更とデバッグエラーの処理
間違いを犯した場合は、「ソースを追加」を再度クリックしないでください。その代わりに、Enterprise Searchの設定に入ります。これも左側のメニューにあります。
次に、以下に示す構成ボタンを選択します。
接続が機能していることを確認する
今、いくつかのアクティビティが見えるはずです:
検索
奇妙なことに、Enterprise Searchの検索画面は隠されています。メインのランディングhttp://(your server):3002には表示されません。代わりに、左側で検索アプリケーションに移動を探してください。
彼らの検索構文は自然言語ですが、特定のキーワードを使用する必要があります(検索構文のヘルプを参照してください)。十分に文書化されていません。私が入力すると:
| 作成者はwalkerrowe |
これらのオブジェクトが表示されます:
次に、私が作成したリポジトリの名前esearch.を入力しました。これによりこの画面が表示されます。アイテムをクリックすると、GitHubでそれを見る機会が与えられます。
検索構文に関するアドバイス
Enterprise Searchサーチャーズマニュアルを参照して検索構文を確認できますが、例は非常に少ししかありません。例えば、検索質問を入力すると、青で見つかった単語がハイライトされると書かれています。それは私がMacのChromeを使用しているときには機能しませんでした。また、ファイルを検索しているようですが、ファイルの内容は検索していないようです。言い換えれば、Googleドキュメントやスプレッドシートのすべての単語をインデックスしているわけではありません。文書が乏しいので、Enterprise Searchコミュニティで質問することを検討してください。
ElasticSearchガイド
- ElasticSearch初心者向けチュートリアル: ElasticSearchの基本
- ElasticSearchとApache Hiveの使用
- ElasticSearchとApache Sparkの使用
- Curl ElasticSearchコマンドチートシート
- Spark ElasticSearch Hadoopの更新とUpsertの例と説明
- Pythonを使用してApache SparkデータをElasticSearchに書き込む方法
- ElasticSearch検索構文とブールおよび集約検索
- ElasticSearchのネストされたクエリ: 埋め込まれたドキュメントの検索方法
- ElasticSearchの結合: Has_Child、Has_parentクエリ
- Elasticバージョン7クラスターのセットアップ方法
- nginxとElasticSearch用のFilebeatの構成方法
- BeatsとLogstashを使用してElasticSearchにログを送信する
- Logstashを使用してCSVファイルをElasticSearchにロードする方法
- ElasticSearchの集計の説明
- ELKスタックとは何か?
- Logstash 101: データ処理パイプラインでのLogstashの使用
- Kibanaを使用してElasticSearchでLuceneおよびKibanaクエリ言語を実行する
- ElasticSearch機械学習
- Elastic Enterprise Searchのインストール方法
- Elastic Enterprise SearchをGitHubと一緒に使用する方法
これらの投稿は私自身のものであり、必ずしもBMCの立場、戦略、または意見を表すものではありません。