SearXNG、無料のインターネットメタ検索エンジン
(github.com/searxng)- SearXNGは複数の検索ソースを扱うメタ検索エンジンであり、ユーザーを追跡したりプロファイリングしたりしない
- インストールは公式のInstallation guideを通じて行い、詳細な調整はConfiguration guideを参照するよう案内している
- 運用と管理に関する追加の使い方は、SearXNGドキュメントのadmin領域で確認できる
- コミュニティ接続チャネルとして、Matrixルーム
#searxng:matrix.orgが提供されている - プロジェクトはGNU Affero General Public LicenseであるAGPL-3.0の下でライセンスされている
SearXNGの役割
- SearXNGはmetasearch engineである
- ユーザーはSearXNGで追跡されたりプロファイリングされたりしない
インストールと設定
- インストール方法はInstallation guideを参照するよう案内している
- 詳細な設定と調整はConfiguration guideで確認できる
- 追加の運用方法はadminドキュメントに整理されている
コミュニティと貢献
- 質問やコミュニティへの参加は、Matrixチャネル
#searxng:matrix.orgを通じて可能である - 貢献に関する詳細はCONTRIBUTINGを参照するよう案内している
ライセンス
- このプロジェクトはGNU Affero General Public Licenseの下で配布されている
- ライセンスの詳細はLICENSEで確認できる
2件のコメント
Hacker Newsのコメント
ブラウザの閲覧履歴にある全ページ本文や、ブックマークした一部ページだけを対象に検索したいなら、DownloadNetを見てみるとよい。以前の名前で、もしかするとまた使うかもしれない名前は「DiskerNet」。
ブラウザに組み込まれて拡張されたブラウジング体験を提供し、UIはCSSのない1997年のGoogleのようにシンプル。検索もまだ複雑なことはしないが、今後は可能になるし、現時点でもかなり使える。
https://github.com/dosyago/DownloadNet
また、訪問したすべてのコンテンツやブックマークしたコンテンツをオフラインでも見られるようにしてくれる。石油掘削リグ、船舶、長距離貨物輸送のように衛星帯域を節約する必要がある環境で、普段どおりブラウズしながら保存しておくのに便利。
自分のインターネット閲覧に関するものは、自分の人間の脳以外には何も保存してほしくない。もちろん、これは自分の基準にすぎない。
ただ、ここまで露骨な宣伝が、話題から外れているというだけでなく、完全な個人プライバシーとは正反対のツールとして、なぜここにふさわしいのか分からない。
昔を思い出す。Google以前は、AltaVista、HotBot、Lycosのようなところのスパムっぽい検索結果の中からまともな答えを見つける確率を上げるために、メタ検索ツールを使っていた。
さらにFTP検索結果も含められ、公開匿名FTPがまだ一般的だった時代には役に立った。
これも試す価値がある。Kagiではないが検索結果はかなり良く、Dockerでセルフホストできる。
https://felladrin-minisearch.hf.space/
いいね。特定のドメインが検索結果に絶対出てこないようにブロックする方法があるといい。
追記: すでにオープンなIssueがあるようだ。
https://github.com/searxng/searxng/issues/2351
SearXNGの意図は、状態を保存せず、サーバーセッションなしで動作し、JavaScriptなしでも使えるようにすること。
ただしこのアプローチでは、Cookieサイズの制限により一部機能が制限される。他の形のブラウザストレージにはJavaScriptが必要になる。
今でも毎回検索時に除外条件を手入力すれば可能だが、リストが長くなり得るし、ユーザー体験が良いとは言いにくい。
Kagiにはこの機能が組み込まれていて使いやすい。
ブラウザ拡張のuBlacklistも使える。ただ自分の場合は、すべてが遅くなるのが問題だった。
確かではないが、検索が終わった後に実際の結果をフィルタリングする方式のように思える。上の2つの方式は、そもそも結果に含まれないように制限する。
FirefoxでPinterestの雑多なものを検索結果から除外するのに使っていて、Chrome版とSafari版もある。
https://github.com/iorate/ublacklist
個人のインターネット回線でこれを動かすと、検索エンジンが使えなくなる危険がある。
個人利用なら自分のコンピュータで直接実行するか、VPNでアクセスすればよい。上流の検索エンジンへ行くクエリは、必要に応じてプロキシやVPNへ送れる。
一部はTorでもうまく動き、一部は商用または自作のトンネル経由で送れる。
ローカルで動かして自分だけが使うならブロックされない。その検索エンジン側からは、直接使ったときとリクエスト数がほぼ同じに見える。
家で数人がさらに使っても、まだ大丈夫だろう。
以前searxを1〜2年ほどローカルで動かしていたが、何の問題もなかった。
公開ホスティングされているsearxインスタンスはたくさんある。オンラインに公開インスタンスの一覧もあるし、ブラウザのアドレスバーから検索するたびにランダムなインスタンスへ送ってくれるツールを探しているなら、neocitiesを使える: https://searx.neocities.org/changelog
いつも使っている。欠点は、たまにまったく結果を返さない、または非常にひどいインスタンスに当たること。最近はこういうことは少なくなった。
SearXNGは素晴らしいが、いくつか注意点がある。
複数の機器にNATを提供しているマシンで一緒に動かすと、DuckDuckGoのような上流検索エンジンからのブロックを避ける助けになる。他の用途にも使われているIPで動かせないなら、特定の上流検索エンジンへのアクセスを別プロキシへ送る機能があるとよい。この問題は本当によくある。
自分が入力したすべての単語が正確にそのまま結果に必ず含まれる、100%文字どおりの検索モードがあるとよい。各単語の前に「+」を付け、単語ごとに引用符を付けるのと同じことかもしれない。結果が少ないという理由で、自分が明示的に望んでいない単語変更が繰り返し起こるのが腹立たしい。
他でも出ているように、特定ドメインを明示的に除外したい。SearXNGがステートレスでありたいというのは理解しているが、別URLで設定したり、すべての検索に適用するよう設定したりもできるはず。たとえば何かのPDFマニュアルを検索するとき、「manualslib.com」のようなサイトは絶対に見たくない。
こうした点が解決されるとよいが、それ以外では、SearXNGを動かして人々にGoogleの代わりに使うよう勧めるやり方はかなりうまく機能している。
みんなSearxを推すが、個人的にはpresearch.comが好き。
提携関係も金銭的利害も一切ない。彼らの暗号資産ベースのビジネスモデルにも関心はない。
実際のところ、GoogleやBing式の検索結果フィルタリングが乏しいのは、表現の自由を守る立場のようなものではなく、資金不足や、成功にもっと重要な別の優先事項のためだと思う。インターネット初期には、企業の欲求の段階が、宣伝向けの好感情や正しい言葉だけを見せることよりも、まず動くものを作ることに集中していたのに似ている。
ともあれ、Googleが強くフィルタリングしそうなテーマや難解なものを探すときは、第二の視点を得るためにpresearchを見る。archive.orgも似たことをしてくれたらよい。archive.orgには膨大なデータがあるが、インデックスと検索性は良くない。
主流検索エンジンそれぞれのひどい結果を平均して、そこそこ使える結果にしてくれるツールとして一番気に入っている。
この1年間、すべてのデバイスでこれをデフォルトとして動かしてきて、とても満足している。詰まったのはたった2回で、アップデートしただけでまた問題なく動いた。
Hacker Newsの意見
Searxの元の作者だが、メタ検索という概念の限界のため、もう開発には参加していない。新しい検索プロジェクトは https://github.com/asciimoo/hister(https://hister.org/)とのこと
Histerはウェブサイトとローカルファイル向けの専用インデクサで、ブラウザがレンダリングした訪問ページを自動で保存する
ページ全体の内容を保存するため、オフラインでの結果プレビューや、MCP経由でのページ全体の提供が可能
MCPの活用例はここで見られる: https://hister.org/posts/give-your-ai-assistant-a-private-me...
検索エンジンとブラウザ拡張でウェブページの内容とメタデータを抽出・保存するセルフホストのコンテンツ保管庫が自分にとって理想的な構成だという結論になり、できれば連合型のコンテンツ共有や、Wikipedia、Gutenbergのようなクリエイティブ・コモンズのコンテンツ取り込みも欲しかった
Histerはほぼまさに自分が欲しかったものに近く、数週間後にコード監査とデプロイを試してみたい
タイトル、説明、サムネイル、共通のOpen Graphフィールドだけを取得していて、インデックスはかなり軽量だと思う。クロールしたページは200万件
https://github.com/rumca-js/Internet-Places-Database
タグと投票機能をサポートしている
最近では最初のF-Droidアプリも公開した
https://github.com/rumca-js/OfflineWebSearch
https://f-droid.org/en/packages/io.github.rumcajs.offlineweb...
何年にもわたって仕事関連の雑多なリンクを集め、毎日使っている。友人や同僚のランダムな質問に、帽子からウサギを出すように答えるためだ。たとえばデータチャート用のカラーパレットのアイデアを聞かれれば、関連する科学研究をすぐ出せるし、あまり知られていないアルゴリズムでも同じだ
時間が経ってコレクションがかなり大きくなり、適切なものを探すのがとても面倒になってきたので、このプロジェクトが自分の問題に合うのか気になっている
これはローカルモデルに検索を提供するための中核ツールのように見える
他の人たちがこの機能をどんな構成で提供しているのか気になる
量子化された240億パラメータのGemmaモデルが出てから、4070 Ti Superでツール呼び出しがうまく動くようになり、成功するツール呼び出しのおかげでローカル環境がようやく実用的になってきた
ちなみにコーディング専用ではなく、一般的な文脈での話
curlとjqを使って扱えたりするこのページの一番下にある: https://docs.searxng.org/admin/settings/settings_search.html
llama-serverから直接呼び出すことはできないOpen WebUIにはSearXや他のプロバイダとの連携があるが、自分が得た結果はそれほど印象的ではなかった
SearXNGを5年以上デフォルトのインターネット検索として使っており、YaCyバックエンドなども代替手段として用意している。この構成で内部文書検索やRAGアプリケーションも作っており、SearXNGはJSON結果にも対応している
ただし、プライバシーのために受け入れている欠点はある。より遅く、結果の品質も他の検索より劣るが、ほとんどのクエリでは十分に速く、十分に良い
ときどきDuckDuckGoやBraveのような検索でブロックされ、CAPTCHAを解く必要があるが、APIキーを取得して使えばこれを避けられる
独自のバックエンドを使えば結果に優先順位を付けられるので、たとえばsmall webや自分にとって重要なサイトをクロールしておけば、そのサイトが検索結果の上位に出てくる
YaCyインスタンスを自分で「非常に高速」に回しているのか、それとも特定の設定があるのか気になる
私の経験ではYaCyは約30秒かけて結果をゆっくりストリーミングする感じで、SearXバックエンドにはあまり向いていなかった
ローカルの
kiwix-serveでWikipedia、Wiktionary、Gutenberg、ArchWikiなどのZIMファイルも提供しているが、Kiwix検索エンジン [0] も結果を返しすぎてSearXの結果ページを汚してしまうので、バックエンドにはあまり向いていないまだSearXをローカルのRecollインスタンス [1] に接続してみてはいない。RecollはZIMファイルの索引作成には対応していないが、他の保存済みHTML文書には役立つかもしれない
検索はきちんと作るのが難しいので、実際にうまく動いている構成があるならもっと知りたい
[0] https://kiwix-tools.readthedocs.io/en/latest/kiwix-serve.htm...
[1] https://docs.searxng.org/dev/engines/online/recoll.html
SearXNGを何年も使っている。GFWの非人道的なネットワーク検閲と検索エンジンのプロキシ検出のため、自分でインスタンスは運用せず、公開インスタンス一覧 [1] と libredirect [2] に依存している
単一インスタンスのサービスは保証されないが、利用可能な別のインスタンスへ1分以内にほぼコストなく切り替えられる
SearXNGが脱Googleを助けるとは言いにくい。メタ検索エンジンは結果を集めるためにGoogleのような他の検索エンジンを呼び出すからだ
それでもSearXNGを使えば、AI要約のようなものはすぐに避けられる
[1] https://searx.space
[2] https://github.com/libredirect/browser_extension
ときどき設定に入って、動作しない検索エンジンを無効にしたり、よく動くエンジンを選んだりしなければならない。たいていはインスタンスがブロックされているせいで、信頼性の問題がある
どのエンジンが動くかは公開インスタンスごとに異なるので、設定ハッシュを保存してもいつも通用するわけではない
SearXNGが信頼性に基づいて表示する検索エンジンを自動調整するか、そのようなオプションを提供してくれるとよいと思う
ここ数年、すべての検索のデフォルトエンジンとしてセルフホストして使っており、強く勧めたい
TinySearchはSearXNGをラップしてエージェント向けにうまく動作する。ネイティブのSearXNG MCPより優れているが、それはエージェントに届く前にコンテキストを最適化してトークンを無駄にしないからだ
https://github.com/MarcellM01/TinySearch
Brave Search APIに接続するとよく動くが、スクレイパーとして使うとかなり不安定だ。Googleは数日前から動かなくなった
コーディングエージェント向けのMCPとして使うために https://github.com/denysvitali/searxng-mcp を作った。プロバイダー、たとえばDuckDuckGoでリクエスト制限に引っかかるまでは非常によく動作する
実行にはSearXNGサーバーも必要なので、最近はスタンドアロンのソリューションである https://github.com/denysvitali/search-mcp の方へ方向転換した
[1]: https://github.com/nikvdp/searxng-ai-kit
しばらくの間SearXNGをとても気に入っている。Googleへの反感はますます強くなっており、自分の同意なしにPCへ小さなAIモデルのようなものがインストールされるのを避けながら検索できるのは素晴らしい
このツールはずっと気に入っていたが、検索を1社ではなく280社に送ることが、プライバシーにどれだけ役立つのかについては複雑な気持ちがある