- Published on
サイト & ドキュメント検索 2026 — Algolia / Meilisearch / Typesense / Pagefind / Orama / Markprompt / kapa.ai 徹底比較
- Authors

- Name
- Youngju Kim
- @fjvbn20031
プロローグ — 検索ボックスの裏に潜む 4 つの世界
2026 年でも、静的サイト / ドキュメント / SaaS 画面を開けば右上に小さな虫眼鏡アイコンがある。押すとモーダルが開き、入力すると結果が出る。ユーザは「全部同じ」と思っている。だが開発者にとってその箱の裏には 完全に異なる 4 つの陣営 がある。
- マネージド SaaS — Algolia、Algolia DocSearch、(旧)Sajari が合流した Algolia NeuralSearch。サインアップして API キーを差し込めば完了。お金がかかり、データはクラウドに置かれる。
- セルフホスト検索エンジン — Meilisearch、Typesense、Elastic、OpenSearch。自前で立てて、インデックスを作り、運用する。コストは低く、コントロールは強く、運用負担も大きい。
- 静的 / インブラウザ — Pagefind、Orama、Lunr.js、Fuse.js、MiniSearch、FlexSearch。バックエンドそのものが無いか、ビルド時にインデックスを焼いて静的に配る。
- AI ドキュメント検索(質問 → 回答) — Markprompt、kapa.ai、Inkeep、Sourcegraph Cody、AnswerOverflow。検索ではなく RAG チャットボットが「検索」のフリをしているカテゴリ。
この記事は 2026 年 5 月時点の 4 陣営の地図を描く。各ツールの位置、料金モデル、インデックス / クエリ API の形、そして「うちのサイトには何を使えばいいか」への回答。埋め込み / キーワード / ハイブリッド検索の違いも触れ、日韓市場の検索 SDK も 1 章割いて扱う。
1. 2026 年のサイト検索地図 — 4 陣営
同じ「サイト検索」でも責任分担はまったく違う。
| 陣営 | 代表ツール | インデックスの場所 | クエリ実行 | 運用負担 | コストモデル |
|---|---|---|---|---|---|
| マネージド SaaS | Algolia、DocSearch | クラウド | クラウド | 0 | 検索回数 / レコード |
| セルフホスト | Meilisearch、Typesense、Elastic、OpenSearch | 自社サーバ | 自社サーバ | 大 | インフラ費 |
| 静的 / クライアント | Pagefind、Orama、Lunr、Fuse | ビルド / ブラウザ | ブラウザ | 0 | 無料 |
| AI ドキュメント検索 | Markprompt、kapa.ai、Inkeep | クラウド | クラウド | 小 | サイト / 質問単位 |
分岐点は 2 つ。
- データはどこに置かれるか — クラウド(SaaS)vs 自分(セルフホスト)vs ブラウザ(静的)。
- 結果は何か — マッチしたページ一覧(検索)vs 合成された回答(AI 検索)。
前者はコスト / コンプライアンスの問題、後者は UX の問題。どちらも正解は決まっていない。100 ページの静的サイトに Elastic クラスタは要らないし、50 万ページのマニュアルに Lunr.js は詰め込めない。サイト規模・更新頻度・コンテンツ種別・コンプライアンス要件で陣営が決まる。
2. Algolia + DocSearch — OSS ドキュメントの事実上の標準
Algolia(2012 年パリ創業)はマネージドサイト検索の代名詞だ。サインアップしてインデックスを作り、キーを差し、InstantSearch を貼り付ければ 5 分で検索ボックスが立つ。結果品質、タイポ許容、ファセット、シノニム、アナリティクスが揃っている。欠点は価格 — 無料枠(月 1 万検索程度)を超えると一気に高くなる。
オープンソース / ドキュメントサイトに決定的なのが DocSearch プログラムだ。Algolia が OSS ドキュメントサイトに限ってクローラ + インデックス + クエリを無料提供する。React、Vue、Vite、Tailwind、Next.js、MDN — どこにでもある「Search Docs」ボックスのほとんどが DocSearch だ。申請 → 承認 → メタタグ 1 行 + DocSearch コンポーネント → 完了。
// Next.js + DocSearch コンポーネント
import { DocSearch } from '@docsearch/react'
import '@docsearch/css'
export function Search() {
return (
<DocSearch
appId="YOUR_APP_ID"
apiKey="YOUR_SEARCH_ONLY_API_KEY"
indexName="your-docs"
/>
)
}
DocSearch v3 はキーボードショートカット(通常 Cmd+K)、モーダル UI、最近の検索、お気に入りまで全部入り。自前ホスティングが無いので運用負担は 0、OSS であれば料金も 0 だ。
商用サイトなら Standard プランが $50/month から始まり、検索回数 / レコード単位でスケールする。大規模 e コマースはいずれ高くつくが、その分結果品質とアナリティクスで取り戻す。2026 年の Algolia は NeuralSearch(旧 Sajari 買収)で埋め込みベースのセマンティック + キーワード ハイブリッドを 1 つのインデックスで提供する — セルフホストで追いつくのは難しい部分だ。
3. Meilisearch — Rust オープンソースの旗手
Meilisearch(フランス、2018)は「Algolia のセルフホスト代替」として一番よく推薦される名前だ。Rust 製の単一バイナリ、REST API、デフォルトでタイポ許容 / ステミング / ファセットが全部オン。Docker でワンライナーで立つ。
docker run -p 7700:7700 getmeili/meilisearch:v1.10
インデックス追加もシンプル。
curl -X POST 'http://localhost:7700/indexes/posts/documents' \
-H 'Content-Type: application/json' \
--data-binary '[{"id": 1, "title": "Hello", "body": "world"}]'
クエリ。
curl 'http://localhost:7700/indexes/posts/search?q=hllo'
# → hllo と hello を同じ結果として扱う(タイポ許容)
2024 年にシリーズ B を調達して資金は厚く、2026 年現在 v1.x が安定。埋め込みベースのセマンティック検索 / ハイブリッド検索が標準機能に入っており、OpenAI / Ollama / Cohere エンベッダーをインデックスに接続できる。マネージドオプション(Meilisearch Cloud)もあり、同じ負荷に対しては Algolia より安いのが一般的だ。
選ぶ場面: 自社データを外に出したくないとき、そして日本語・韓国語・中国語など非ラテン文字検索を強くしたいとき(Meili は charabia で形態素分割を上手にこなす)。Algolia ほどアナリティクス / シノニム / ルールエンジンは豊富ではないが、OSS ライセンス + Rust の安定性 + 1MB のシングルバイナリは魅力的だ。
4. Typesense — Meilisearch 最大のライバル
Typesense(2017、C++)も同じ「Algolia 代替」エリア。Meili と頻繁に比較され、大枠は似ている。違いはディテール。
| 項目 | Meilisearch | Typesense |
|---|---|---|
| 言語 | Rust | C++ |
| ライセンス | MIT | GPL v3 |
| 単一バイナリ | はい | はい |
| 埋め込み / セマンティック | 標準 | 標準 |
| クラスタリング | Cloud のみ | OSS でも |
| マネージドホスティング | Meilisearch Cloud | Typesense Cloud |
| 日本語デフォルト | 分割可能 | 分割可能 |
Typesense の差別化は、クラスタリングと Raft 合意がオープンソースビルドにも含まれていること。クラスタを運用するなら Typesense の方が少し親切。逆にシングルノードでシンプルにいくなら Meili が少し軽い、と言われる。
クラウド価格はどちらも RAM / CPU ベースで、同じデータ量に対して Algolia より安いことが多い。2026 年時点でどちらも v1.x / v0.27.x の安定版、開発も活発だ。
5. Pagefind — 静的サイト検索の正解
Pagefind(2022 年、Eleventy チームが作った)は「静的サイトのために作られた検索」だ。コア発想:
- ビルド後に出力ディレクトリをスキャンし、JSON / WASM インデックスファイルを生成。
- ランタイムではバックエンドなしで、ユーザが検索したとき 必要なインデックスチャンクだけを遅延ロード してブラウザでクエリ。
- インデックスが大きければチャンク分割され、ページ数が多くても初期ロードは小さい。
# ビルド後
npx pagefind --site dist
ブラウザ側のコード。
import * as pagefind from '/pagefind/pagefind.js'
const search = await pagefind.search('algolia')
for (const result of search.results) {
const data = await result.data()
console.log(data.url, data.excerpt)
}
Astro、Eleventy、Next.js(静的ビルド)、Hugo、どこでも使える。バックエンドが 0、CDN だけあれば水平にいくらでもスケール。サイトページが数万以下なら、2026 年の正解にもっとも近い。
限界は明確。ページが数十万になるとインデックスサイズ自体が膨らみ、ビルド時間も伸びる。リアルタイム更新もない(ビルド時に焼く)。アナリティクス / ファセットもマネージド SaaS ほど豊富ではない。それでもブログ / ドキュメント / OSS プロジェクトサイトには大抵十分だ。
6. Orama — TypeScript + タイポ許容 + セマンティック
Orama(2022、イタリア)は「TypeScript で書かれた、ブラウザでもサーバでも動く検索エンジン」だ。同じコードが Node / Deno / ブラウザ / Edge どこでも動く。
import { create, insert, search } from '@orama/orama'
const db = create({
schema: {
title: 'string',
body: 'string',
tags: 'string[]',
},
})
insert(db, { title: 'Hello', body: 'world', tags: ['a', 'b'] })
const result = await search(db, { term: 'hllo', tolerance: 1 })
特徴:
- 依存ゼロの TypeScript、バンドルサイズが小さい。
- タイポ許容 / BM25 / ファセット / シノニム 標準装備。
- セマンティック検索(埋め込み)を同じライブラリで提供。
- マネージドオプション(Orama Cloud)もある。
Pagefind との比較 — Pagefind は「静的サイトの出力から自動でインデックス生成」に強く、Orama は「ライブラリとして自分でインデックス / クエリを書く」のに強い。どちらもインブラウザで動かせる。SaaS / アプリなら Orama、静的サイトなら Pagefind が普通は便利だ。
7. Elastic + OpenSearch — エンタープライズの重量級
Elasticsearch(2010、ELK スタックの E)は長らく検索エンジン界の絶対王者だった。2021 年にライセンスを SSPL / Elastic License に変えたことで AWS がフォークし、OpenSearch が生まれた。2026 年現在、2 つの系統が並行進化している。
- Elastic — 会社自身がクラウドとセルフホストの両方を運営。機械学習 / セマンティック検索 / Observability(APM、ログ)まで同じスタックに統合。2024 年に Elasticsearch / Kibana の一部が Apache 2.0 に復帰。
- OpenSearch — AWS 主導。Apache 2.0。Amazon OpenSearch Service としてマネージド提供。日本・韓国のクラウドチームでよく使われる。
どちらも強力だが、サイト検索だけ必要なら過剰。本当の価値はログ分析 / メトリクス / APM / フルセマンティック検索 / 自由な DSL など広いシナリオで出る。ドキュメントサイトに Elastic クラスタを運用すると、その運用コストが価値を上回ってしまう。数十〜数百 GB のデータ + 複雑なクエリ + 分析まで同じインフラ ならその時に Elastic / OpenSearch。
# Docker でシングルノード(開発用)
docker run -p 9200:9200 \
-e "discovery.type=single-node" \
docker.elastic.co/elasticsearch/elasticsearch:8.15.0
8. Lunr.js / Fuse.js / MiniSearch / FlexSearch — インブラウザの選択肢
伝統的な「バックエンドなし検索」ライブラリ群。2026 年現在もそれぞれに居場所がある。
Lunr.js — クラシック、静的サイト検索の元祖
2012 年頃に Jekyll / Hugo サイトで一番見かけた。ビルド時に JSON インデックスを作り、ブラウザで検索。BM25 ベース、英語ステマー標準、他言語サポートもある。今でも動くが、開発の活発さは落ちた。 新プロジェクトなら Pagefind / Orama の方が普通は良い。
Fuse.js — ファジー / タイポ許容に特化
import Fuse from 'fuse.js'
const fuse = new Fuse(items, { keys: ['title', 'body'], threshold: 0.3 })
const result = fuse.search('algoria') // タイポ → algolia
検索エンジンではなく JavaScript 配列をあいまいマッチするライブラリ。メニュー / コマンドパレット / オートコンプリートに頻繁に使う。サイト全文検索には足りないが、小さなデータセットには完璧だ。
MiniSearch
小さく速いインブラウザ全文検索。典型的に数万ドキュメントまでインデックス可能。API はシンプル、BM25 + タイポ許容 + ファセット対応。
import MiniSearch from 'minisearch'
const ms = new MiniSearch({ fields: ['title', 'body'] })
ms.addAll(docs)
const results = ms.search('hello world', { fuzzy: 0.2 })
FlexSearch
JavaScript 検索ライブラリで最速とよく言われる。インデックス形式が効率的でメモリも小さい。API は他より少し癖があるが、性能差が意味を持つ局面では魅力的だ。
選択ガイド: 静的サイトなら Pagefind、SaaS のインブラウザライブラリ用途なら Orama または MiniSearch、ファジーマッチだけなら Fuse.js、極限性能が要るなら FlexSearch。
9. Markprompt — AI ドキュメント検索の 1 つの選択肢
検索が「キーワード → ページ」だったとすれば、AI ドキュメント検索は「質問 → 回答」だ。ユーザが自然言語で問い、RAG が関連ドキュメントを取り、LLM が回答を合成する。
Markprompt(2023)は「Markdown / MDX ドキュメントの上に乗せる AI 検索」として始まった。ワークフロー:
- ドキュメントサイトをクロール、または GitHub リポジトリを連携。
- チャンキング + 埋め込みでベクトルインデックス生成。
- チャットウィジェット / 検索ボックス / API で公開。
- ユーザの質問 → 関連チャンク取得 → LLM 合成 → 出典リンク付きの回答。
// React ウィジェット(簡略)
import { Markprompt } from '@markprompt/react'
<Markprompt projectKey="YOUR_PROJECT_KEY" />
オープンソースのライブラリ群(@markprompt/react など)とマネージドホスティングの両方を提供。料金は回答 / メッセージ単位。大きな強みは 出典の引用 + 素早い導入、そして チャット UI と検索 UI の両方 が用意されている点だ。
10. kapa.ai — 開発者ドキュメントに特化した AI 検索
kapa.ai は「あなたの技術ドキュメントで訓練されたチャットボット」と位置づけられる。Docker、OpenAI、Mapbox、Reflex といった会社が docs ページ脇の「Ask AI」ボタンで使う。
差別化ポイントは 開発者ドキュメント領域に強くチューニング されていることだ。コードブロックの引用、バージョン / ライブラリ認識、GitHub Issues / Discord / Stack Overflow といった追加ソースの統合、幻覚を抑える回答検証パイプライン。LangChain ベースで始め、現在は自前のパイプライン。
デプロイは大抵ウィジェット 1 行。
<script src="https://widget.kapa.ai/kapa-widget.bundle.js"
data-website-id="YOUR_ID"
data-project-name="YourProject"
async></script>
料金はエンタープライズ見積で、Markprompt より一般的に高めだが、回答品質や運用(幻覚モニタリング、人手レビューワークフロー)により投資している。
11. Inkeep / Sourcegraph Cody / AnswerOverflow — その他の AI 検索
エコシステムにはもう少しある。
Inkeep
製品ドキュメント + コミュニティ + コードを統合して回答する AI チャットボット。Anthropic、Pinecone、Speakeasy といった SaaS が使う。SDK / ウィジェット / Slack ボット / Discord ボットなど表面が豊富。
Sourcegraph Cody
本業がコード検索の Sourcegraph が作った AI コードアシスタント。サイト検索ではなくコードベース検索 — IDE 内で「この関数はどこから呼ばれているか」のような質問に答える。ドキュメントサイトに直接埋め込むカテゴリではないが、開発者ツールとして強力。
AnswerOverflow
Discord のヘルプチャンネルを検索可能なインデックスに変え、Google / サイト検索で出るようにする。「Discord に答えがあるのに見つからない」OSS プロジェクトの問題への解。無料 + セルフホスト可能、マネージドもある。
(参考)Mark(RIP)
2010 年代に人気だった検索ライブラリの一部は消えた。Sajari は Algolia に買収され NeuralSearch に合流。Mark のような小規模プロジェクトはメンテが止まった。新プロジェクトなら、上で挙げたアクティブなツールを見るのが安全。
12. 埋め込み vs キーワード vs ハイブリッド
2026 年の検索における核論争: 埋め込みベースのセマンティック検索はキーワード検索を置き換えたか?
答え: いいえ。両方を併用するハイブリッドが標準になった。
3 つのモードの違い。
| 方式 | 仕組み | 強み | 弱み |
|---|---|---|---|
| キーワード(BM25 等) | 単語一致、重み | 厳密な用語 / コード / 固有名詞 | シノニム、意味 |
| 埋め込み(ベクトル) | 意味埋め込み、コサイン類似度 | 「関連内容」を拾う | 厳密な用語に弱く、コスト高 |
| ハイブリッド | 両方 + リランク | 両方の強み | 運用が複雑、チューニング必要 |
現場で多いパターン。
- キーワード(BM25)で候補 100 件。
- 埋め込みセマンティックスコアで再ランク。
- 必要なら LLM ベースのリランカー(クロスエンコーダ、Cohere Rerank 等)で最終 10 件。
Algolia NeuralSearch、Meilisearch、Typesense、Elastic、OpenSearch すべてが 2026 年にハイブリッドをサポート。静的 / インブラウザツール(Pagefind / Orama)も一部埋め込みを取り込むが、埋め込みインデックス自体が重いのでサイトが大きくなると限界。AI ドキュメント検索(Markprompt / kapa.ai)は埋め込みが本業で、キーワードを補助に使う構造。
13. 日本 / 韓国 — Yahoo!検索・ナビゲーション・カカオ 検索 SDK
グローバルの標準は上で全部扱ったが、日本・韓国市場には別事情がある。
日本 — Yahoo! / サイト検索
- Yahoo!検索 API — Yahoo! JAPAN のウェブ検索を API で公開。ライセンス / 利用上限の関係で、実際に自社サイトの検索ボックスとして使うケースは減った。
- 日本語形態素解析 — MeCab / Sudachi / Kuromoji が定番。Elastic / OpenSearch の kuromoji プラグイン、Algolia の日本語アナライザ、Meilisearch の charabia(自前分割器)など。スペースが無い日本語ではトークナイザの品質が検索品質をほぼ決める。
韓国 — Naver / Kakao
- NAVER Search API — ブログ / ニュース / 百科事典 / ショッピング / 本 / 映画などを検索して結果を受ける。自社サイトのインデックスではなく「Naver のインデックスを借りる」モデル。申請 / キー発行は NAVER Developers から。
- Kakao Search API — Daum / Kakao のインデックスから検索。似たカテゴリ(ウェブ / ブログ / カフェ / 本 / 映像 / 画像)。
- 韓国語形態素解析 — Algolia / Meili / Typesense / Elastic すべて韓国語トークナイザ(MeCab、nori、lucene-analyzers-nori 等)を接続可能。結果品質はアナライザ設定に大きく左右される。
要約: 日韓ともにインデックス自体はグローバルツールを使い、アナライザ / トークナイザに神経を使う。Naver / Yahoo! API は別のトラフィックシナリオ(他サイトの結果を自社ページに表示)に使うのが普通。
14. 誰が何を選ぶべきか — シナリオ別推奨
| シナリオ | 第 1 候補 | 第 2 候補 |
|---|---|---|
| OSS ドキュメントサイト(1 万ページ未満) | DocSearch(無料) | Pagefind |
| OSS ドキュメントサイト(大規模) | DocSearch | Algolia 有料 |
| 個人ブログ / 静的サイト | Pagefind | Lunr.js |
| Astro / Eleventy / Hugo | Pagefind | Orama |
| SaaS インブラウザ検索 | Orama | MiniSearch |
| コマンドパレット / オートコンプリート | Fuse.js | FlexSearch |
| 商用サイト(中規模) | Algolia | Meilisearch Cloud |
| データを外に出せない | Meilisearch(セルフ) | Typesense(セルフ) |
| エンタープライズ + ログまで | Elastic / OpenSearch | - |
| 回答型 docs チャットボット(開発者) | kapa.ai | Inkeep |
| 回答型 docs チャットボット(プロダクト) | Markprompt | Inkeep |
| Discord の回答を Web に | AnswerOverflow | - |
| コードベース検索 | Sourcegraph Cody | - |
| 日本語サイト(自前インデックス) | Elastic + kuromoji / Algolia | Meili + charabia |
| 韓国語サイト(自前インデックス) | Meili / Algolia + 韓国語アナライザ | - |
大原則:
- サイト規模が小さいなら静的 / クライアントで終わらせる。運用は 0。
- 規模 / 更新頻度 / 分析要件が伸びたら マネージド SaaS かセルフホスト検索エンジン。
- コンプライアンス / データ主権が肝ならセルフホスト。
- ユーザが自然言語で問い始めたら AI ドキュメント検索を載せる。
最初から完璧な選択はない。小さく始める(Pagefind / DocSearch / Lunr)→ 足りなくなったら移行 → データが増えたらセルフホスト / SaaS → ユーザがチャットで問い始めたら AI 検索導入。これが 2026 年の典型的な進化経路だ。
おわりに — 「検索ボックス」の裏の決断
検索ボックス 1 つに隠れた 4 つの決断。
- データホスティング — クラウド / 自社サーバ / ブラウザ。
- 検索アルゴリズム — キーワード / 埋め込み / ハイブリッド。
- 結果の形 — ページ一覧 / 合成された回答。
- 運用責任 — マネージド / セルフ。
2026 年の朗報は どの決断にも良質なオープンソース / 無料の選択肢がある こと。OSS docs には DocSearch、静的サイトには Pagefind、セルフインデックスには Meilisearch / Typesense、インブラウザには Orama / Fuse / MiniSearch、AI 回答には Markprompt / kapa.ai。「うちのサイト検索しやすいね」とユーザに感じてもらうのに巨大インフラが要る時代は終わった。
残るのは — 自分のサイトでユーザが何をどう探しているか一度見て、上の地図から適切な陣営を選ぶ、それだけだ。
参考 / References
- Algolia DocSearch — OSS ドキュメント向け無料検索。
- Algolia InstantSearch — UI コンポーネント。
- Algolia NeuralSearch — セマンティック + キーワード ハイブリッド。
- Meilisearch — Rust セルフホスト検索。
- Meilisearch Cloud — マネージドオプション。
- Typesense — C++ セルフホスト検索。
- Pagefind — 静的サイト向け検索(Eleventy チーム)。
- Orama — TypeScript 検索エンジン。
- Elasticsearch — エンタープライズ検索 + Observability。
- OpenSearch — Apache 2.0、AWS 主導フォーク。
- Amazon OpenSearch Service — AWS マネージド。
- Lunr.js — 静的サイト ブラウザ検索のクラシック。
- Fuse.js — JavaScript ファジーマッチ。
- MiniSearch — 軽量全文検索。
- FlexSearch — 高速 JS 検索。
- Markprompt — AI ドキュメント検索。
- kapa.ai — 開発者ドキュメント用 AI チャットボット。
- Inkeep — プロダクト + コミュニティ統合 AI 検索。
- Sourcegraph Cody — コードベース AI。
- AnswerOverflow — Discord 回答を Web に。
- Yahoo! JAPAN Developer Network — Yahoo!検索ほか日本 API。
- Elasticsearch kuromoji プラグイン — 日本語アナライザ。
- NAVER Developers — Search API — Naver 検索 API。
- Kakao Developers — Search — Daum / Kakao 検索。
- Lucene nori 韓国語アナライザ — 韓国語形態素解析。
- Cohere Rerank — ハイブリッド検索用リランカー。