クライアント API の移行

SearXNG からホスト型検索へ移行

対応する SearXNG JSON リクエストと結果の解析を維持。Open WebUI や LangChain のインスタンス URL を Search1API に変更します。

Open WebUI — bash diff
-SEARXNG_QUERY_URL="http://searxng:8080/search?q=<query>"
+SEARXNG_QUERY_URL="https://api.search1api.com/compat/searxng/YOUR_SEARCH1API_KEY/search?q=<query>"

移行を検討する場面

インスタンスの保守、JSON 出力の設定、公開インスタンスの利用停止がアプリに影響している場合、対応する検索呼び出しをホスト型エンドポイントへ移行できます。Search1API は SearXNG のクライアントプロトコルを実装しており、SearXNG インスタンスのホスティングや SearXNG エンジンの提供ではありません。

元のサービスの資料: SearXNG Search API

維持できるもの

  • results[].title、url、content などの SearXNG JSON フィールド。

  • 対応するエンジン名、カテゴリー、クエリ bang、言語プレフィックス。

  • Open WebUI と LangChain の既存 SearXNG クライアント連携。

切り替え前の確認事項

  • 結果は Search1API が提供。元のプラグイン、非公開エンジン、設定やプライバシーポリシーは移行されません。

  • 未対応エンジンは unresponsive_engines に表示され、全て未対応ならカテゴリーまたは既定の Web 検索を利用。safesearch などは無視されます。

  • キーはインスタンス URL に含まれるため秘密として扱ってください。検索エンジンごとに 1 クレジットかかります。

既存クライアントを移行

  1. クライアント専用の Search1API キーを作成。個別に失効できます。

  2. 下記の例に従ってインスタンスまたはクエリ URL を変更。クライアントの選択は SearXNG のままです。

  3. 独自のクエリでエンジン、カテゴリー、無視されるオプションと料金を確認します。

LangChain · SearxSearchWrapper — python
from langchain_community.utilities import SearxSearchWrapper
​
search = SearxSearchWrapper(
searx_host="https://api.search1api.com/compat/searxng/YOUR_SEARCH1API_KEY"
)
results = search.results("hono workers", num_results=5, engines=["google"])
for item in results:
print(item["title"], item["link"])

例は互換性リファレンスと一致しています。本番トラフィックの切り替え前に、ご自身のクエリでフィルターと結果処理を確認してください。

クライアント例:Open WebUI / LangChain互換性リファレンスを見る

検索には Search1API のクレジットとアカウントのレート制限が適用されます。本文取得や複数エンジンの選択は追加料金になる場合があります。各プロトコルの説明をご確認ください。

料金を見る

移行に関する質問

SearXNG のインストールは必要ですか?

不要です。SearXNG 対応クライアントを Search1API に向けます。SearXNG プロセスや settings.yml、JSON 出力の設定は必要ありません。

自前のインスタンスを完全に再現できますか?

対応するリクエストとレスポンスの形式を維持します。検索元、順位、プラグイン、メタデータ、プライバシー特性は異なる場合があります。これらが必須なら自前のインスタンスを維持してください。

SearXNG の Web UI も移行できますか?

対象は JSON 検索 API を呼び出すアプリです。SearXNG のサイトを置き換えたり、UI や設定を取り込んだりする機能ではありません。