Your website deserves its own search engine¶
Dead Simple Search is an open source, self-hosted search engine backend built with Python and MySQL. It crawls your site, indexes your content, and gives you a full-text search API — all on your own server.
Why Dead Simple Search?¶
Not everyone needs a hosted cloud search service. Personal sites, small businesses and internal knowledge bases rarely have the scale that justifies one, and some of them have good reasons to keep their content off someone else's infrastructure entirely.
This is a search engine for those cases: small enough to read, plain enough to modify, and yours to run.
Full-text search¶
Built on MySQL's own full-text indexing. Natural-language and boolean query modes, with optional stemming for Swedish, Danish, Norwegian, Finnish, Icelandic and English so that searching for one inflection finds the others.
Careful crawler¶
Discovers your pages through sitemaps and links. Honours robots.txt including wildcard rules, meta robots noindex, X-Robots-Tag and rel=canonical, and waits between requests so it never hammers the site it is indexing.
REST API¶
A JSON API for registering sites, triggering crawls and searching. Write endpoints take an API key; read endpoints are open. Connect any front-end you like.
Self-hosted¶
Runs on your own server against your own database. No third-party services at runtime, no tracking, no analytics, no data leaving your infrastructure.
Ordinary stack¶
Python, Flask and MySQL. Every SQL query is hand-written and readable. Shared hosting is enough — no plugins or server-config changes required.
MIT licensed¶
Read it, change it, fork it, ship it. Around 3,200 lines of Python in total.
Who is this for?¶
Dead Simple Search suits you if you run a small or medium website and want search without a monthly bill; if you need to know exactly where your content is indexed and who can reach it; or if you would rather maintain something you can read in an afternoon than operate a platform you cannot.
It is a poor fit for very large corpora, for sites needing typo tolerance or faceted search, and for anyone who would rather not run a server at all. Those are real needs, and other tools serve them better.
How it works¶
- Register a website by giving Dead Simple Search a domain and a starting page.
- The crawler visits your pages, reading HTML, following links and reading your sitemaps.
- The indexer extracts titles, headings, descriptions, body text, language and publication dates.
- You search via the API, sending a query and getting back ranked results.
No message queues, no container orchestration, no cluster. A Python application and a MySQL database.
Get started¶
Dead Simple Search is hosted on Codeberg, a European non-profit platform for open source code.
→ View the project on Codeberg
The getting started guide covers installation, configuration and your first crawl.