SearXNG の使い方:最初の検索からセルフホスティングの習得まで
もしあなたが、追跡なしで Google のような検索結果を得たいと思ったことがあるなら、SearXNG はプライバシーを最優先に考えたメタ検索エンジンです。これは、あなたをプロファイリングすることなく、数十のソースからの結果を集約し、フィルター、エンジン、さらにはホスティングまで完全に制御できます。このガイドでは、パブリックインスタンスの使用、検索体験のカスタマイズ、そして最大限の制御のための独自のプライベート SearXNG のデプロイという3つの道筋を説明します。
この記事を実行可能にするために、実践的かつソリューション指向のアプローチを取り、すぐに使える手順、コピーできる設定、そして避けるべき一般的な落とし穴を紹介します。
SearXNGとは何か、そしてなぜ使うのか?
SearXNG はオープンソースのメタ検索エンジンです。ウェブを自力でクロールする代わりに、他の検索エンジンにクエリを送信し、結果を統一されたインターフェースで表示します。特徴は、追跡を排除し、広告を削除し(ほとんどのインスタンスで)、含めるエンジン、検索するカテゴリ(ウェブ、画像、動画、ファイル、IT、ニュース、科学)、そして結果の表示方法をきめ細かく制御できることです。
クイックスタート:パブリック SearXNG インスタンスの使用
パブリックインスタンス(ボランティアによって運営されている SearXNG サーバー)から始めることができます。一般的な流れ:
- 信頼できるパブリックインスタンスを開きます(「SearXNG instances list」またはコミュニティスレッドを検索して、アクティブで評判の良いサーバーを見つけます)。稼働時間、レート制限、プライバシーに関する声明を評価します。
- クエリを入力し、上部のタブからカテゴリ(例:Web、画像、ニュース)を選択します。
!g あなたのクエリ で Google エンジンを強制します(そのインスタンスで有効になっている場合)。
- インスタンスの設定に応じて、
!ddg、!bing、!yt、!wp など。
- 引用符、
site:、filetype:pdf、inurl:、intitle: などの標準演算子は、多くのエンジンで動作します。
- お気に入りのインスタンスをブックマークし、UI でサポートされている場合は、設定を JSON blob としてエクスポート/インポートします。
プロのヒント:パブリックインスタンスは、悪用から保護するために、匿名ユーザーのレートを制限する場合があります。captcha が表示されたり、速度が低下したりする場合は、別のインスタンスを試すか、セルフホストしてください。
インターフェースでのパワーユーザーの操作
- エンジンをその場で切り替える:設定 → エンジン で、カテゴリごとに特定のソースを切り替えます。
- 結果を調整する:重複を非表示にし、期間を変更し(例:過去1年間)、関連性または日付でソートします。
- プライバシートグル:クエリを実行したくないエンジンを無効にします。一部のエンジンでは API キーが必要ですが、存在しない場合は単に使用されません。
- キーボードショートカット:多くの SearXNG テーマは、検索ボックスにフォーカスするための
/ と、結果をナビゲートするための矢印キーをサポートしています。
SearXNG をセルフホストする方法 (Docker の場合)
セルフホスティングにより、信頼性、速度、および使用するエンジンを制御できます。Docker の方法が最も簡単です。
要件
- Linux VPS またはホームサーバー (軽い使用には 2 vCPU / 2 GB RAM で快適です)
- Docker および Docker Compose がインストールされていること
- HTTPS 用のドメイン/サブドメインとオプションのリバースプロキシ (Caddy/Traefik/Nginx)
手順
- SearXNG デプロイメントリポジトリをクローンします(または最小限の Compose ファイルを使用します)。
version: "3.8"
services:
searxng:
image: searxng/searxng:latest
container_name: searxng
environment:
- BASE_URL=
- SEARXNG_SECRET_KEY=change_me_to_a_long_random_value
volumes:
- ./searxng:/etc/searxng
ports:
- "8080:8080"
restart: unless-stopped
- 強力な
SEARXNG_SECRET_KEY を生成します(例:openssl rand -hex 32)。
- HTTPS でリバースプロキシを設定します(Caddy の例):
search.example.com {
reverse_proxy 127.0.0.1:8080
}
Caddy は Let's Encrypt 経由で TLS を自動的にプロビジョニングします。
コア構成:settings.yml
最初の実行後、マウントされたボリューム(例:./searxng/settings.yml)の下に構成が作成されます。主要なセクション:
server: シークレットキー、バインドアドレス、レート制限
engines: エンジン、カテゴリ、タイムアウトの有効/無効
ui: テーマ、無限スクロール、オートコンプリート
search: セーフサーチのデフォルト、言語、ロケール
設定例:
general:
instance_name: "My Private SearXNG"
server:
secret_key: "<same as env or longer>"
image_proxy: true
rate_limit: "60/minute"
search:
safe_search: 1 # 0 off, 1 moderate, 2 strict
autocomplete: "duckduckgo"
ui:
default_theme: "simple"
infinite_scroll: true
engines:
- name: duckduckgo
engine: duckduckgo
categories: .
### Quick Example
- Endpoint: `/search`
- Methods: GET or POST
- Parameters: `q` (query), `categories`, `language`, `format=json`, `time_range`, `safesearch`
```bash
curl "
応答には、オーガニック検索の結果、使用されたエンジン、およびタイミングが含まれます。調査の自動化、ローカルダッシュボード、およびカスタムUIの構築に最適です。
エンジンの調整とカテゴリ
- 高速でプライバシーに配慮したソース(例:Wikipedia、Stack Exchange、MDN、DuckDuckGo、許可されている場合は Brave、YouTube/Reddit/Mastodon の公式 API)を優先します。
- ネットワーク上で頻繁に captcha が表示されたり、遅延が大きかったりするエンジンを無効にします。
- カテゴリごとのデフォルトを使用します。たとえば、「IT」の下で GitHub、Stack Overflow、PyPI を有効にし、「Science」の下で arXiv/Crossref を有効にし、「News」の場合は
time_range を最近に設定します。
トラブルシューティングチェックリスト
- captcha が表示されたり、空の結果が表示されたりしますか?ブロックを引き起こしているエンジンの数を減らすか、ローテーションします。タイムアウトを少し増やします。キャッシングを有効にします。
- API リクエストが失敗しますか?リバースプロキシヘッダーと CORS を確認します。
format=json を確認します。
- UI が遅いですか?1ページあたりの結果数を減らします。負荷の高いエンジンを無効にします。Redis キャッシュを有効にします。
- Docker の再起動ループが発生しますか?
settings.yml の構文と環境変数を確認します。
チームとパワーユーザー向けのベストプラクティス
- 変更を追跡するために、(シークレットを含まない)
settings.yml をエクスポートしてバージョン管理します。
- API キーには、シークレットマネージャーまたは
.env ファイルを使用します。
- エンジンの変更に常に追いつくために、毎週コンテナを更新するスケジュールを設定します。
- エンジンのエラーまたはレート制限のヒットについてログを監視します。
- SearXNG をアプリに埋め込む場合は、禁止を避けるために、再試行を控え、遅延をランダム化します。
オプション:SearXNG を他のツールに接続する
- 調査ノートやチャットワークフローで JSON API を使用します。
- プライバシーを維持するために、アプリベースのウェブ検索をプライベートインスタンス経由でルーティングします。
- 一部の AI/Web UI は、独自のエンドポイントを介して閲覧するために SearXNG に接続できます (それに応じてベース URL と API パラメータを設定します)。
注目すべき点:大規模な調査ワークフローを作成したり、結果を要約したりする場合、Sider.AI のようなツールを使用すると、複数のタブやクエリにわたって読み取りと要約の手順を効率化できます。ブラウジングをプライベート SearXNG エンドポイントに向けることができ、Sider.AI を使用して洞察を収集したり、ブリーフを作成したり、参考文献を自動的にコンパイルしたりできるため、連続して多くの検索を実行する場合に時間を節約できます。 は、大規模言語モデルと IT 技術を活用してサービスを提供することに重点を置いています。、、、 などの固有名詞は翻訳しないでください。 セキュリティと倫理
- インスタンスをパブリックな悪用から保護しないでください。レート制限を行い、必要に応じてアクセスを制限します。
- チームメンバーにプライバシーに関する期待を伝えます。IPアドレスやクエリを保存しないようにログを設定できます。
最初の15分間の設定:ミニチェックリスト
- Docker を起動し、Compose ファイルを作成します
SEARXNG_SECRET_KEY を設定します
- コンテナを起動し、
:8080 が動作することを確認します
- プロキシを使用して HTTPS の背後に配置します
settings.yml を編集して、信頼できるエンジンを有効にします
- デフォルトのカテゴリと SafeSearch を設定します
- インスタンスをブックマークして、チームと共有します
主なポイント
- SearXNG は、クローラーを作成せずに、プライバシー、制御、および柔軟性を提供します。
- パブリックインスタンスから開始し、信頼性とカスタマイズのためにセルフホストします。
- 速度と関連性のためにエンジンとカテゴリを調整します。
- JSON API により、SearXNG は調査と自動化に最適です。
- HTTPS、レート制限、および最小限のロギングでデプロイを強化します。
参考文献と詳細情報
- Docker および Windows セットアップに役立つ、ステップバイステップのセルフホスティングチュートリアルとコミュニティチュートリアル。
- SearXNG をアプリのワークフローとツールに統合するには、多くの場合、上記と同じ API パターンに従います。
よくある質問
Q1:SearXNG とは何ですか?また、どのように機能しますか?
SearXNG は、ユーザーを追跡せずに複数のソースにクエリを実行し、結果を集約する、プライバシーを重視したメタ検索エンジンです。パブリックインスタンスを使用するか、エンジン、フィルター、およびプライバシー設定を完全に制御するためにセルフホストすることができます。
Q2:Docker を使用して SearXNG をセルフホストするにはどうすればよいですか?
公式イメージを使用して Docker Compose サービスを作成し、強力なシークレットキーを設定し、HTTPS でリバースプロキシの背後に公開します。settings.yml を編集して、エンジンを有効にし、カテゴリを構成し、プライバシーオプションを調整します。
Q3:API 経由でプログラムによる検索に SearXNG を使用できますか?
はい。q、categories、および format=json などのパラメータを指定して /search を呼び出し、自動化およびアプリ用の JSON 結果を受信します。これは、調査パイプラインおよび内部ツールに最適です。
Q4:安全なパブリック SearXNG インスタンスを選択するにはどうすればよいですか?
明確なプライバシーに関する声明、良好な稼働時間、および最小限の captcha を備えた、アクティブで評判の良いインスタンスを探してください。レート制限または信頼性の問題が発生した場合は、インスタンスを切り替えるか、セルフホストすることもできます。
Q5:SearXNG ではどの検索演算子が機能しますか?
引用符、site:、filetype:、inurl:、および intitle: などの一般的な演算子は一般的に機能し、基になるエンジンに渡されます。インスタンスがそれらをサポートしている場合は、bang ショートカット(例:!g、!ddg、!yt)を使用することもできます。