Trouve-KA — moteur de recherche web indépendant, Québec-first. Crawler distribué, index OpenSearch, ranking bilingue, galerie d'images. En prod : www.trouve-ka.com
Python 51.9%
TypeScript 32.7%
JavaScript 4.8%
CSS 4.1%
Shell 2.9%
HTML 1.8%
SQL 1.5%
-
Sun, Aug 23, 2026 1
-
pivot Groupe KA : le moteur n'indexe plus que les 14 sites KA
…
- allowlist KA_DOMAINS + is_ka_domain (exclusions.py), garde-fous frontier (db.py) et crawler (worker.py) : aucun fetch/enqueue hors périmètre - politesse réduite 0,25 s sur nos propres domaines, score Québec plancher 1.0 - nouvel index tk-ka-pages + nouvelle base trouveka_ka (ancien corpus web ouvert intact : rollback via KA_ONLY=false + .env.bak-avant-pivot-ka) - ingestion par sitemaps : scripts/ka-sitemaps/ingest.py (streaming, priorité pages/villes > fiches), process PM2 tk-sitemaps (cron 4 h 45) - /api/search : nouveau paramètre site= (filtre par domaine KA) - catégories verticales KA (logement, emplois, restaurants…) dans l'indexeur
-
-
Sun, Aug 16, 2026 1
-
Crawler équitable, recherche hybride sémantique, architecture native multi-nodes
…
Crawl : claim 1 URL/domaine (DISTINCT ON), backoff adaptatif réparé (defer ne touche plus last_crawled_at), décroissance de priorité sur pages inchangées, enqueue_urls_bulk (1 transaction/page vs 1/lien), cap réel urls/domaine (migration 003), blocklist plateformes+CDN, timeout fetch 10s, boucle de claim résiliente aux pannes DB. Recherche : minimum_should_match 2<70%, index kNN (e5-small 384d, migration alias v2), service embeddings+reranker cross-encoder (services/embedding), fusion RRF avec gate de couverture, reranking du top-20 aussi en lexical, 55 groupes de synonymes QC appliqués à chaud, endpoint admin zero-results. Infra : OpenSearch sur M2M32b (heap 8G, 2 shards), Postgres max_connections 200 + timeouts anti-zombies + shared_buffers 2G, backfill embeddings anti-blocage avec superviseur, migration 004 autovacuum domains. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-