独自環境での実行
このページは 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の使用を推奨します。
-
pipenv install -
pipenv shell
ブラウザエミュレーション(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を実行して結果をテストできます。検索入力欄のあるウェブページが開き、インデックスされた結果に対してリアルタイムテストが可能です。
※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社内で無料ホスティング版を運用するために使用しているため、記載されているすべてのコマンドが必要とは限りません。