searxng-search: record that no domestic-only engine set works here

Asked for a domestic-only default, so every general-web index SearXNG ships
for China was added to keep_only, the container was restarted, and each was
measured over 5 runs per query. None of them is usable. The default stays
bing,yandex.

  engine          en hits  zh hits  outcome
  360search         5/5      5/5   reliable, 0% relevant
  quark             0/5      0/5   rate-limited dead after two good responses
  baidu              -        0   CAPTCHA, 1h IP suspension
  sogou              -        0   upstream AttributeError
  baidu kaifa        -      0/10   code index: "opencode v2" matches OpenCV2
  bilibili           -        -   video titles, not a web index
  chinaso news       -        -   falls through to the default engine set

quark was the one that looked like the fix. On its first two requests it
returned the exact article being asked about as result #1 on both the Chinese
and the English query -- better than anything else measured -- and then answered
0 results on 5 consecutive runs of each. Had it not been run 5 times, it would
have looked like the obvious upgrade.

baidu kaifa is worth remembering as a category error: it is a code search
index, so it matches "opencode v2" against OpenCV2 and returns CSDN blog posts
at 0% relevance. It is reachable and does not CAPTCHA, which makes it look
healthy in /config while being useless.

The foreign engines that were reachable (brave, duckduckgo, google, qwant,
wikipedia) were added at the same time and all returned 0, consistent with the
network timeouts already recorded in settings.yml. mojeek and startpage are not
present in this SearXNG release at all, so the earlier note calling them
"unreachable" was imprecise.

settings.yml was restored from a backup and diffed byte-identical before this
commit; the probe engines never left the instance.

cn.bing.com is the only dependable endpoint and is a China-hosted Bing, so bing
counts as the domestic option. Its one real limitation stands: it ignores the
site: operator, so site-restricted search is unavailable through this instance.

Also fixes a duplicated `bing` row left in the README engine table by the
previous commit.
This commit is contained in:
2026-10-08 13:44:46 +08:00
parent aa70b381bf
commit d6e29cbbad
2 changed files with 62 additions and 9 deletions
+26 -2
View File
@@ -42,8 +42,32 @@ const DEFAULT_BASE_URL = process.env.SEARXNG_URL ?? "http://127.0.0.1:39217"
// the first round of noise in this plugin's history came from.
//
// naver is strong on English but returns 0/9 on Chinese, so it is left out
// rather than allowed to dilute Chinese queries. baidu stays out entirely: it
// answers with a CAPTCHA and suspends the client IP for an hour.
// rather than allowed to dilute Chinese queries.
//
// A domestic-only engine set was tried and there is no working one on this
// network. Every general-web index SearXNG ships for China was added to
// keep_only, restarted, and measured over 5 runs per query:
//
// engine en hits zh hits result
// 360search 5/5 5/5 4-5 results, 0% relevant
// quark 0/5 0/5 11/11 relevant twice, then rate-limited dead
// baidu - 0 CAPTCHA, suspends the client IP for an hour
// sogou - 0 upstream AttributeError, searx/engines/sogou.py:56
// baidu kaifa - 0/10 code index: matches "opencode v2" as OpenCV2
// bilibili - - video titles, not a web index
// chinaso news - - falls through to the default engine set
//
// quark is the one that looked like a fix. It returned the exact article being
// asked about as result #1 on both queries, then answered 0 results on 5
// consecutive runs of each. Do not put it back in the default on the strength
// of a first request.
//
// cn.bing.com is the only reliably useful endpoint, and it is a China-hosted
// Bing, so `bing` counts as the domestic option here. Its one real limitation
// is that it ignores the `site:` operator entirely.
//
// baidu stays out entirely: it answers with a CAPTCHA and suspends the client
// IP for an hour, which would break every search that touches it.
const DEFAULT_ENGINES = "bing,yandex"
const DEFAULT_TIMEOUT_MS = 20_000