メインコンテンツへスキップ
バージョン: レガシー (v1.x - v2.x)

独自環境での実行

非公式ベータ版翻訳

このページは PageTurner AI で翻訳されました(ベータ版)。プロジェクト公式の承認はありません。 エラーを見つけましたか? 問題を報告 →

検索結果の更新をより細かく制御したい場合、当社のチェックリストに適合していない場合、またはウェブサイトがファイアウォール内にある場合、クローラーを自身で実行することをお勧めします。

DocSearchのコードベース全体はオープンソースであり、Dockerイメージとしてパッケージ化されているため、より簡単に利用できます。

環境設定

AlgoliaアプリケーションIDと管理者用APIキーを環境変数として設定する必要があります。Algoliaアカウントをお持ちでない場合は、アカウント作成が必要です。

  • APPLICATION_ID:AlgoliaアプリケーションIDを設定

  • API_KEY:APIキーを設定。インデックスへの書き込み権限を持つAPIキーを使用してください。addObject, editSettings, deleteIndexのACLが必要です。

利便性のため、リポジトリルートに.envファイルを作成できます。

APPLICATION_ID=YOUR_APP_ID
API_KEY=YOUR_API_KEY

Dockerイメージからのクロール実行

パッケージ化されたDockerイメージからクロールを実行できます。事前に軽量コマンドラインJSONプロセッサjqのインストールが必要です。

設定に基づいてクロールを開始します。専用の設定ドキュメントを確認してください。

docker run -it --env-file=.env -e "CONFIG=$(cat /path/to/your/config.json | jq -r tostring)" algolia/docsearch-scraper

スクレイピングが完了したら、統合作業に進むことができます。

コードベースからのクローラー実行

インストール

スクレイパーはScrapyベースのPythonツールです。Python環境のインストールにはpipenvの使用を推奨します。

ブラウザエミュレーション(js_renderをtrueに設定)を使用する場合は、追加手順が必要です。使用しない場合はこの手順をスキップできます。

ChromeDriverのインストール

JavaScriptを必要とするウェブサイトのレンダリングに対応するため、クローラーはヘッドレスChromeエミュレーションを使用します。ChromeDriverの設定が必要です。

  • OSとChromeバージョンに適合するドライバーをインストール。最新バージョンの使用を推奨します。

  • .envファイルに環境変数CHROMEDRIVER_PATHを設定。ダウンロードしたドライバーのパスを指定してください。

これで準備完了です。

クローラーの実行

pipenv shellを実行して仮想環境を有効化後、次のコマンドでクロールを実行できます:

$ ./docsearch run /path/to/your/config.json

Dockerイメージからの実行:

$ ./docsearch docker:run /path/to/your/config.json

これによりクロールが開始され、解析したページからコンテンツを抽出し、構築したレコードをAlgoliaにプッシュします。

新規設定作成

設定を作成するには./docsearch bootstrapを実行。プロンプトで情報を入力するとベースとなるJSON設定が生成されます。

$ ./docsearch bootstrap
# Enter your documentation url
start url: http://www.example.com/docs/
# Pick another name, or press enter
index_name is example [enter to confirm]: <Enter>

=================
{
"index_name": "example",
"start_urls": [
"http://www.example.com/docs/"
],
"stop_urls": [],
"selectors": {
"lvl0": "FIXME h1",
"lvl1": "FIXME h2",
"lvl2": "FIXME h3",
"lvl3": "FIXME h4",
"lvl4": "FIXME h5",
"lvl5": "FIXME h6",
"text": "FIXME p, FIXME li"
}
}
=================

この内容をexample.jsonファイルとして保存し、後でクロール開始に使用します。既存の設定リストも参照できます。

結果のテスト

./docsearch playgroundを実行して結果をテストできます。検索入力欄のあるウェブページが開き、インデックスされた結果に対してリアルタイムテストが可能です。

Playground

※Mac以外のマシンではコマンドが失敗する可能性があります。その場合は./playgroundサブディレクトリでライブサーバーを実行すると同様の結果が得られます

統合

設定に満足したら、こちらの手順に従ってドロップダウンメニューをウェブサイトに統合できます。

違いは、docsearch() インスタンスに appId キーを追加する必要がある点です。また、クロールで使用した書き込み用APIキーではなく、検索用APIキーを使用することを忘れないでください。

docsearch({
appId: '<APP_ID>', // Add your own Application ID
apiKey: '<API_KEY>', // Set it to your own *search* API key
[] // Other parameters are the same
});

ヘルプ

引数なしで ./docsearch を実行すると、利用可能なすべてのコマンドのリストを表示できます。

このコマンドラインツールはAlgolia社内で無料ホスティング版を運用するために使用しているため、記載されているすべてのコマンドが必要とは限りません。