{"corpus":{"by_country_top10":{"AE":169,"AZ":241,"BD":168,"BY":170,"EG":249,"IR":298,"MM":240,"PK":244,"RU":308,"VE":308},"by_status":{"active":6012,"confirmed":427,"suspected":3604},"by_type":{"censorship":4000,"disruption":5675,"mixed":368},"total":10043},"endpoints":{"info":"GET /v1/atlas/search/info","legacy_alias":"GET|POST /v1/incidents/similar (same behavior, older route)","search_get":"GET /v1/atlas/search?q=...&limit=10&country=IR&type=censorship","search_multilingual":"GET|POST /v1/atlas/search/multilingual?q=...","search_post":"POST /v1/atlas/search {query, limit, country, incident_type, min_confidence}"},"honest_caveats":["Search may surface false positives \u2014 2,293 of 2,637 incidents are IODA connectivity-disruption rows with TEMPLATED descriptions ('Network disruption detected in <CC>'), which collapse to nearly-identical embeddings. Country/type filters strongly recommended.","Only 343 incidents are confirmed censorship (300 'censorship' + 43 'mixed'); the rest are network disruption signals (fiber cuts, BGP, DDoS, weather, blocking). Use type=censorship to filter.","Cosine similarity is unitless \u2014 a score of 0.5 is good for short queries, 0.7+ is strong. Below 0.2 the match is likely noise.","Embeddings rebuilt weekly (Sun 04:00 UTC + Sun 05:00 UTC); new incidents between rebuilds are NOT yet indexed.","English model is all-MiniLM-L6-v2 \u2014 fast (10ms/doc CPU) but small.","Multilingual model is paraphrase-multilingual-MiniLM-L12-v2 \u2014 covers 50+ languages (AR/FA/RU/ZH/JA/KO/HE/HI/ES/FR/DE/PT/etc.) but is ~3x slower to encode the corpus and may score 5-10pp lower precision than per-language models. Incident DESCRIPTIONS are mostly English; cross-language match relies on the encoder mapping non-English queries into the same space.","Language detection on the query side is script-based (heuristic). It distinguishes Arabic/Persian/Cyrillic/CJK/Hebrew/Devanagari/Thai/etc. but won't tell apart Spanish vs Italian \u2014 both report as 'en' or 'latin'."],"last_reload":"2026-10-05T00:52:04.522304+00:00","model":{"dim":384,"library":"sentence-transformers","metric":"cosine (dot product on L2-normalized vectors)","name":"all-MiniLM-L6-v2","normalize":true},"multilingual_last_reload":"2026-10-05T00:52:04.527807+00:00","multilingual_model":{"corpus":{"by_country":{},"by_status":{},"by_type":{},"total":0},"dim":384,"endpoint":"GET /v1/atlas/search/multilingual?q=...&detected_lang=...","languages_supported":50,"library":"sentence-transformers","metric":"cosine (dot product on L2-normalized vectors)","name":"paraphrase-multilingual-MiniLM-L12-v2","normalize":true},"params":{"country":"ISO-2 country filter (e.g. IR, CN, RU)","detected_lang (multilingual only)":"optional override of script-detected language hint","incident_type":"filter: censorship | disruption | shutdown | mixed","limit (or k)":"1..50, default 10","min_confidence":"float 0..1; only return incidents with confidence >= this","q (or query)":"free-text query, required"},"performance":{"approach":"embed query -> dot product over (N,384) matrix -> argpartition top-K","latency_p50_ms":25,"latency_p95_target_ms":200,"multilingual_overhead_ms":"+10-20ms vs English-only (LaBSE-trained sibling, slightly larger encoder)"},"schema":"voidly-atlas-search-info/v1","service":"voidly-similarity"}
