必須設定
このページは PageTurner AI で翻訳されました(ベータ版)。プロジェクト公式の承認はありません。 エラーを見つけましたか? 問題を報告 →
このセクションでは、DocSearchインデックスの構築方法に関する詳細を基に、クロールを最適化するベストプラクティスを紹介します。当社クローラーがウェブサイトから最適な検索体験を構築するためには、以下の仕様を採用することが必須です。ウェブサイトを更新しこれらのルールに従う必要があります。
注:対応ツールで生成されたウェブサイトの場合、既に要件を満たしているため変更は不要です。
汎用設定の例
{
"index_name": "example",
"start_urls": ["https://www.example.com/doc/"],
"sitemap_urls": ["https://www.example.com/sitemap.xml"],
"stop_urls": [],
"selectors": {
"lvl0": {
"selector": ".DocSearch-lvl0",
"global": true,
"default_value": "Documentation"
},
"lvl1": {
"selector": ".DocSearch-lvl1",
"global": true,
"default_value": "Chapter"
},
"lvl2": ".DocSearch-content .DocSearch-lvl2",
"lvl3": ".DocSearch-content .DocSearch-lvl3",
"lvl4": ".DocSearch-content .DocSearch-lvl4",
"lvl5": ".DocSearch-content .DocSearch-lvl5",
"lvl6": ".DocSearch-content .DocSearch-lvl6",
"text": ".DocSearch-content p, .DocSearch-content li"
},
"custom_settings": {
"attributesForFaceting": ["language", "version"]
},
"nb_hits": "OUTPUT OF THE CRAWL"
}
明確なレイアウトの概要
これらのベストプラクティスを実装したウェブサイトはシンプルで明快な構成になります。以下のような外観が理想的です:
青色のメイン要素が.DocSearch-contentコンテナになります。詳細は後続のガイドラインで説明します。
セレクタとして適切なクラスを使用
コンテンツの役割を特定するため、スタイル変更を含まない静的クラスを追加でき ます。これらの専用クラスにより、ドキュメントから「入力しながら学べる」優れた検索体験を構築できます。
-
テキストコンテンツのメインコンテナに静的クラス
DocSearch-contentを追加(通常は<main>または<article>HTML要素) -
メインドキュメントコンテナ外の検索可能な
lvl要素(サイドバーなど)はglobalセレクタにする必要があります。これらはグローバルに収集され、ページから生成される全レコードに注入されます。レベル値は重要であり、HTMLフローに沿って増加する必要がある点に注意してください。レベルX(lvlX)はX > YとなるレベルYの後に出現する必要があります。 -
lvlXセレクタは標準見出しタグ(h1,h2,h3など)か静的クラスを使用します。後述するように、これらの要素には一意のidまたはname属性を設定してください。 -
lvlXセレクタに一致するDOM要素には一意のidまたはname属性が必要です。これにより一致要素の正確な位置までスクロールするリダイレクトが可能になります。 -
テキスト要素(
textセレクタ)は全て<p>または<li>タグで囲んでください。コンテンツは原子的に分割され小さな単位である必要があります。要素のネストによる重複発生に注意してください。 -
ここで紹介されているHTMLフロー全体の一貫性を維持 してください。
メタタグによるグローバル情報の追加
当社クローラーはDocSearch専用メタタグから情報を自動抽出します:
<meta name="docsearch:language" content="en" />
<meta name="docsearch:version" content="1.0.0" />
クロールはこれらのmetaタグのcontent値を、ページから抽出された全レコードに追加します。メタタグのnameはdocsearch:$NAMEパターンに従う必要があります。$NAMEは全レコードに設定される属性名です。
これらの属性はfacetFiltersとして変換しUIからフィルタリング可能です。AlgoliaインデックスのattributesForFaceting