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 クレジットかかります。
既存クライアントを移行
クライアント専用の Search1API キーを作成。個別に失効できます。
下記の例に従ってインスタンスまたはクエリ URL を変更。クライアントの選択は SearXNG のままです。
独自のクエリでエンジン、カテゴリー、無視されるオプションと料金を確認します。
LangChain · SearxSearchWrapper — pythonfrom langchain_community.utilities import SearxSearchWrappersearch = 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"])
例は互換性リファレンスと一致しています。本番トラフィックの切り替え前に、ご自身のクエリでフィルターと結果処理を確認してください。
検索には Search1API のクレジットとアカウントのレート制限が適用されます。本文取得や複数エンジンの選択は追加料金になる場合があります。各プロトコルの説明をご確認ください。
料金を見る移行に関する質問
SearXNG のインストールは必要ですか?
不要です。SearXNG 対応クライアントを Search1API に向けます。SearXNG プロセスや settings.yml、JSON 出力の設定は必要ありません。
自前のインスタンスを完全に再現できますか?
対応するリクエストとレスポンスの形式を維持します。検索元、順位、プラグイン、メタデータ、プライバシー特性は異なる場合があります。これらが必須なら自前のインスタンスを維持してください。
SearXNG の Web UI も移行できますか?
対象は JSON 検索 API を呼び出すアプリです。SearXNG のサイトを置き換えたり、UI や設定を取り込んだりする機能ではありません。