Skip to content
Published on

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

Authors

プロローグ — 検索ボックスの裏に潜む 4 つの世界

2026 年でも、静的サイト / ドキュメント / SaaS 画面を開けば右上に小さな虫眼鏡アイコンがある。押すとモーダルが開き、入力すると結果が出る。ユーザは「全部同じ」と思っている。だが開発者にとってその箱の裏には 完全に異なる 4 つの陣営 がある。

  1. マネージド SaaS — Algolia、Algolia DocSearch、(旧)Sajari が合流した Algolia NeuralSearch。サインアップして API キーを差し込めば完了。お金がかかり、データはクラウドに置かれる。
  2. セルフホスト検索エンジン — Meilisearch、Typesense、Elastic、OpenSearch。自前で立てて、インデックスを作り、運用する。コストは低く、コントロールは強く、運用負担も大きい。
  3. 静的 / インブラウザ — Pagefind、Orama、Lunr.js、Fuse.js、MiniSearch、FlexSearch。バックエンドそのものが無いか、ビルド時にインデックスを焼いて静的に配る。
  4. AI ドキュメント検索(質問 → 回答) — Markprompt、kapa.ai、Inkeep、Sourcegraph Cody、AnswerOverflow。検索ではなく RAG チャットボットが「検索」のフリをしているカテゴリ。

この記事は 2026 年 5 月時点の 4 陣営の地図を描く。各ツールの位置、料金モデル、インデックス / クエリ API の形、そして「うちのサイトには何を使えばいいか」への回答。埋め込み / キーワード / ハイブリッド検索の違いも触れ、日韓市場の検索 SDK も 1 章割いて扱う。


1. 2026 年のサイト検索地図 — 4 陣営

同じ「サイト検索」でも責任分担はまったく違う。

陣営代表ツールインデックスの場所クエリ実行運用負担コストモデル
マネージド SaaSAlgolia、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 と頻繁に比較され、大枠は似ている。違いはディテール。

項目MeilisearchTypesense
言語RustC++
ライセンスMITGPL v3
単一バイナリはいはい
埋め込み / セマンティック標準標準
クラスタリングCloud のみOSS でも
マネージドホスティングMeilisearch CloudTypesense 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 検索」として始まった。ワークフロー:

  1. ドキュメントサイトをクロール、または GitHub リポジトリを連携。
  2. チャンキング + 埋め込みでベクトルインデックス生成。
  3. チャットウィジェット / 検索ボックス / API で公開。
  4. ユーザの質問 → 関連チャンク取得 → 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 等)単語一致、重み厳密な用語 / コード / 固有名詞シノニム、意味
埋め込み(ベクトル)意味埋め込み、コサイン類似度「関連内容」を拾う厳密な用語に弱く、コスト高
ハイブリッド両方 + リランク両方の強み運用が複雑、チューニング必要

現場で多いパターン。

  1. キーワード(BM25)で候補 100 件。
  2. 埋め込みセマンティックスコアで再ランク。
  3. 必要なら 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 ドキュメントサイト(大規模)DocSearchAlgolia 有料
個人ブログ / 静的サイトPagefindLunr.js
Astro / Eleventy / HugoPagefindOrama
SaaS インブラウザ検索OramaMiniSearch
コマンドパレット / オートコンプリートFuse.jsFlexSearch
商用サイト(中規模)AlgoliaMeilisearch Cloud
データを外に出せないMeilisearch(セルフ)Typesense(セルフ)
エンタープライズ + ログまでElastic / OpenSearch-
回答型 docs チャットボット(開発者)kapa.aiInkeep
回答型 docs チャットボット(プロダクト)MarkpromptInkeep
Discord の回答を Web にAnswerOverflow-
コードベース検索Sourcegraph Cody-
日本語サイト(自前インデックス)Elastic + kuromoji / AlgoliaMeili + charabia
韓国語サイト(自前インデックス)Meili / Algolia + 韓国語アナライザ-

大原則:

  • サイト規模が小さいなら静的 / クライアントで終わらせる。運用は 0。
  • 規模 / 更新頻度 / 分析要件が伸びたら マネージド SaaS かセルフホスト検索エンジン。
  • コンプライアンス / データ主権が肝ならセルフホスト。
  • ユーザが自然言語で問い始めたら AI ドキュメント検索を載せる。

最初から完璧な選択はない。小さく始める(Pagefind / DocSearch / Lunr)→ 足りなくなったら移行 → データが増えたらセルフホスト / SaaS → ユーザがチャットで問い始めたら AI 検索導入。これが 2026 年の典型的な進化経路だ。


おわりに — 「検索ボックス」の裏の決断

検索ボックス 1 つに隠れた 4 つの決断。

  1. データホスティング — クラウド / 自社サーバ / ブラウザ。
  2. 検索アルゴリズム — キーワード / 埋め込み / ハイブリッド。
  3. 結果の形 — ページ一覧 / 合成された回答。
  4. 運用責任 — マネージド / セルフ。

2026 年の朗報は どの決断にも良質なオープンソース / 無料の選択肢がある こと。OSS docs には DocSearch、静的サイトには Pagefind、セルフインデックスには Meilisearch / Typesense、インブラウザには Orama / Fuse / MiniSearch、AI 回答には Markprompt / kapa.ai。「うちのサイト検索しやすいね」とユーザに感じてもらうのに巨大インフラが要る時代は終わった。

残るのは — 自分のサイトでユーザが何をどう探しているか一度見て、上の地図から適切な陣営を選ぶ、それだけだ。


参考 / References