設定ファイル
このページは PageTurner AI で翻訳されました(ベータ版)。プロジェクト公式の承認はありません。 エラーを見つけましたか? 問題を報告 →
DocSearchの設定ファイルは次のような構造です:
{
"index_name": "example",
"start_urls": ["https://www.example.com/docs"],
"selectors": {
"lvl0": "#content header h1",
"lvl1": "#content article h1",
"lvl2": "#content section h3",
"lvl3": "#content section h4",
"lvl4": "#content section h5",
"lvl5": "#content section h6",
"text": "#content header p,#content section p,#content section ol"
}
}
index_name
ここで指定するのは、レコードが保 存されるAlgoliaインデックスの名前です。提供されるapiKeyはこのインデックス専用に制限されており、検索専用キーとなっています。
無料版DocSearchクローラーを使用する場合、indexNameは常に設定ファイル名と同じになります。自身でDocSearchを実行する場合は任意の名前を設定できます。
{
"index_name": "example"
}
DocSearchスクレイパーが実行されると、一時インデックスが構築されます。スクレイピング完了後、そのインデックスはindex_nameで指定された名前に移動されます(既存のインデックスは置き換えられます)。
デフォルトでは、一時インデックスの名前はindex_nameの値 + _tmp となります。
別の名前を使用するには、環境変数INDEX_NAME_TMPに異なる値を設定します。この変数は.envファイル内でAPPLICATION_IDとAPI_KEYと一緒に設定可能です。
start_urls
クローリングを開始するURLのリストを配列で指定します。クローラーはこれらのページからリンク(<a>タグ)を再帰的にたどりますが、別ドメインへのリンクやstop_urlsにマッチするリンクは追跡しません。
{
"start_urls": ["https://www.example.com/docs"]
}
selectors_keyによるセレクターのカスタマイズ
URLに応じて詳細なセレクターセットを定義できます。start_urls内でselectors_keyパラメーターを使用してください。
{
"start_urls": [
{
"url": "http://www.example.com/docs/faq/",
"selectors_key": "faq"
},
{
"url": "http://www.example.com/docs/"
}
],
[…],
"selectors": {
"default": {
"lvl0": ".docs h1",
"lvl1": ".docs h2",
"lvl2": ".docs h3",
"lvl3": ".docs h4",
"lvl4": ".docs h5",
"text": ".docs p, .docs li"
},
"faq": {
"lvl0": ".faq h1",
"lvl1": ".faq h2",
"lvl2": ".faq h3",
"lvl3": ".faq h4",
"lvl4": ".faq h5",
"text": ".faq p, .faq li"
}
}
}
スクレイパーはURLに基づいて適切なサブセットを見つけるため、start_urlsアイテムを順に検査し、最初にマッチした設定を適用します。
URLがhttp://www.example.com/en/api/で、設定が以下の場合:
{
"start_urls": [
{
"url": "http://www.example.com/doc/",
"selectors_key": "doc"
},
{
"url": "http://www.example.com/doc/faq/",
"selectors_key": "faq"
},
[…],
]
}
docに関連するセレクターセットのみが適用されます。正しい設定方法は前述の通り逆順に定義することです。
start_urlsアイテムにselectors_keyが定義されていない場合、defaultセットが使用されます。このフォールバック用セレクターセットの設定を忘れないでください。
正規表現の使用
start_urlsとstop_urlsでは正規表現を 使用して複雑なパターンを表現できます。正規表現の配列かオブジェクトを定義可能で、オブジェクトの場合は少なくとも到達可能なページを指すurlキーが必要です。
正規表現をオブジェクトで定義する場合、特定のURLパターンに注入されるvariablesキーも定義できます。次の例でこの機能を明確に示します:
{
"start_urls": [
{
"url": "http://www.example.com/docs/(?P<lang>.*?)/(?P<version>.*?)/",
"variables": {
"lang": ["en", "fr"],
"version": ["latest", "3.3", "3.2"]
}
}
]
}
この構文を使用する利点として、http://www.example.com/docs/en/latestにマッチするページから抽出された全レコードにlang: enやversion: latest属性が付与されます。これによりfacetFiltersでのフィルタリングが可能になります。
次の例はUIが特定の言語とバージョンにマッチする結果をフィルタリングする方法を示しています。
docsearch({
[…],
algoliaOptions: {
'facetFilters': ["lang:en", "version:latest"]
},
[…],
});
カスタムタグの使用
正規表現なしで特定ページにカスタムタグを適用できます。tagsキーにタグリストを追加してください。これらのタグはAlgoliaでファセットとして自動追加され、値に基づくフィルタリングが可能になります。
{
"start_urls": [
{
"url": "http://www.example.com/docs/concepts/",
"tags": ["concepts", "terminology"]
}
]
}
JSスニペット例:
docsearch({
[…],
algoliaOptions: {
'facetFilters': ["tags:concepts"]
},
});