{
  "id": 8186082,
  "title": "Your Browser History Search Is Broken—Here's a Local Fix",
  "url": "https://urgent.news/2026/09/18/your-browser-history-search-is-broken-heres-a-local-fix",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-18T06:00:59.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/robust_true_try/your-browser-history-search-is-broken-heres-a-local-fix-3pl3"
  },
  "original_language": "en",
  "account": "Browser history search functionality has been broken for years across major web browsers like Chrome and Firefox. Traditional search tools like Spotlight on macOS or Windows Search fall short by indexing files but not browser visits, and they often miss content within PDFs or code repositories. Cloud-based solutions, such as Notion, Obsidian Sync, or Readwise, offer convenient centralized storage but leave users' data under third-party control.\n\nHister, a self-hosted search engine developed by the creator of SearXNG, addresses these limitations by enabling users to index their local browser data and filesystem contents in a private, network-independent manner. The system indexes browser history (within the 90-day limit in Chrome) and filesystem content in a single searchable index that runs locally.\n\nThe indexing process involves Hister monitoring browser databases (SQLite files from Chrome, Firefox, Brave, and Edge) and filesystem paths that users specify. It extracts text from various document formats, including PDFs, Office documents, source code, markdown, and plain text, using Apache Tika. The index is stored within a local Meilisearch instance, which processes queries directly.\n\nTo implement Hister, users can employ a Docker Compose stack that mounts their browser profiles and target directories as read-only volumes. The setup assumes Linux paths, but adjustments are necessary for macOS and Windows systems. The configuration file specifies the sources to index and their polling intervals. Meilisearch is deployed in a resource-limited container to prevent Out-Of-Memory (OOM) issues. For Chrome, a wrapper script copies the History file to a temporary location before Hister reads it, mitigating lock contention during writes. For filesystem polling, a sidecar watcher utilizing inotifywait is recommended to detect and index file changes in real-time.\n\nHowever, as the index grows beyond a few gigabytes, Hister encounters scale-related challenges. The primary issues include increased memory consumption and slower response times. To address these, users can set a memory limit for the Meilisearch container, reducing indexed fields to save memory but at the cost of full-text search capabilities within documents. For filesystem polling, adjusting the polling interval can help reduce the delay between file changes and index updates.",
  "summary": "Browser history search has been broken for years. Chrome's omnibox only matches URLs. Firefox's library view chokes on more than a few thousand entries. Cloud-based tools like Memex or Raindrop send every visit to their servers. If you want full-text search over everything you've read—plus your local PDFs and code—without leaving your machine, you need a local indexer. This article shows how to…",
  "key_points": [
    "Hister is a self-hosted search engine for local browser data and filesystem contents.",
    "It indexes browser history and filesystem content in a private, network-independent manner."
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}