zudo-doc
GitHub リポジトリ

検索したい単語を入力

いつでも検索バーを開ける

サイト検索

作成 2026年3月11日更新 2026年6月14日Takeshi Takatsudo
タグ:#search

zudo-docでの検索の仕組みと設定方法。

検索の仕組み

zudo-docは全文サイト検索にMiniSearchを使用しています。コンテンツファイル(タイトル、説明、本文)から検索インデックスが生成され、単一のJSONファイルとして配信されます。ブラウザがこのインデックスを読み込み、すべての検索をクライアントサイドで実行します — サーバーや外部サービスは不要です。

検索の使い方

検索ダイアログを開くには:

  • キーボードショートカットCtrl+K(Windows/Linux)またはCmd+K(macOS)

  • 検索ボタン:ヘッダーの検索アイコンをクリック

クエリを入力すると結果が即座に表示されます。結果をクリックするとそのページに移動します。

すべての環境で動作

検索はすべての環境で動作します:

  • 開発モードpnpm dev):検索インデックスはzfbのdevMiddleware経由でオンザフライで生成

  • 本番ビルドpnpm build):インデックスは静的サイトとともにsearch-index.jsonに出力

  • Tauri(オフラインリーダー):バンドルされたdist/から同じインデックスファイルを読み込み — 特別な処理は不要

Tip

検索をテストするためにビルドする必要はありません。pnpm devですぐに動作します。

ページを検索から除外する

フロントマターにsearch_exclude: truedraft: true、またはunlisted: trueが設定されたページは、検索インデックスから自動的に除外されます。

ページを明示的に除外するには、フロントマターにsearch_exclude: trueを追加します:

---
title: My Internal Page
search_exclude: true
---

Tip

これは変更履歴、インポートされたコンテンツ(例:CLAUDE.md)、検索結果を煩雑にする内部専用ページなどに便利です。

検索機能

MiniSearchは以下を提供します:

  • ファジーマッチング:タイポを許容(最大20%の文字差異)

  • プレフィックス検索:入力中に結果を検出(例:「conf」は「Configuration」にマッチ)

  • フィールドブースティング:タイトルの一致は本文の3倍、説明は2倍にランク付け

  • 即時結果:フルインデックスが一度読み込まれ、メモリ内でクエリを実行

サーバーサイド検索(Search Worker)

大規模なドキュメントベースやプログラムによるAPIアクセスのために、zudo-docはオプションのSearch Workerを提供しています。これはMiniSearchをサーバーサイドで実行するCloudflare Workerです。

Search Workerを使うべき場合

組み込みのクライアントサイド検索は小〜中規模のドキュメントサイトで十分に動作します。Search Workerは以下の場合に便利です:

  • 大きなインデックスサイズ -- フルのsearch-index.jsonがブラウザへのダウンロードには大きすぎる場合

  • APIコンシューマー -- ボット、CLIツール、インテグレーションがブラウザなしで検索にアクセスする必要がある場合

  • サーバーサイド処理 -- 検索インデックスをクライアントから離したい場合

仕組み

Search Workerはデプロイ済みのサイトから同じsearch-index.jsonを取得し、5分のTTLでキャッシュします。同一のMiniSearch設定(プレフィックス、ファジー、ブースト設定)を使用するため、結果はクライアントサイド検索と一貫しています。

比較

機能クライアントサイド検索(組み込み)Search Worker
ランタイムブラウザ(インメモリ)Cloudflare Workers
セットアップ不要(デフォルトで有効)Cloudflareアカウント + KV
インデックスダウンロードフルインデックスをブラウザに送信インデックスはサーバーサイドに留まる
最適な用途小〜中規模のドキュメント大規模なドキュメント、APIコンシューマー
レイテンシ即時(ローカル)ネットワークラウンドトリップ

セットアップ手順、APIドキュメント、デプロイの詳細については、Search Worker APIリファレンスを参照してください。

Revision History

Takeshi Takatsudo作成: 2026-03-12T03:34:07+09:00更新: 2026-06-14T15:45:56Z

AI Assistant

Ask a question about the documentation.