# Shared Architecture ## Request flow 1. User searches on SearXNG. 2. Custom engines query SethSearch API (`json_engine`). 3. SethSearch reads SQLite FTS5 index and applies source-specific scoring. 4. SearXNG merges with other web engines and renders response. ## Data model - DB: `/opt/sethsearch/articles.db` - Main table: `documents` - FTS table: `documents_fts` ## Reliability pattern - Source sync jobs run independently. - Failures in one source do not block other source updates. - systemd restart policy keeps service resilient.