docsearch

command
v0.58.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2026 License: AGPL-3.0 Imports: 17 Imported by: 0

README

docsearch

Durchsuchbare, lokale Dokumentablage mit tinySQL-Volltextsuche und Browser- Oberfläche. Der Quellordner bleibt ausschließlich lesbar; nur der Suchindex wird in tinySQL gespeichert.

Start

go run ./cmd/docsearch -docs ./docs -addr 127.0.0.1:8092
# http://localhost:8092
Option Standard Bedeutung
-docs . Verzeichnis, dessen Dateien indexiert werden
-addr 127.0.0.1:8092 HTTP-Adresse; :8092 für Zugriff von anderen Rechnern
-dsn file:docsearch.db?autosave=1 Speicherort des persistenten Suchindexes

Beim ersten Start wird ein leerer Index aufgebaut. Danach bleibt der Index erhalten, bis er im Browser oder mit POST /api/reindex erneuert wird. Ein Reindex ersetzt den gesamten Index; dadurch verschwinden auch gelöschte Dokumente aus den Suchergebnissen.

Was wird indexiert?

Indexiert werden gültige UTF-8-Dateien bis 1 MiB mit den Endungen .md, .txt, .rst, .html, .htm, .go, .sql und .csv. Die Ordner .git, node_modules, vendor sowie alle versteckten Unterordner werden übersprungen. Aus jeder Datei werden relativer Pfad, ein Titel und der Inhalt gespeichert.

HTTP-API

Methode Pfad Zweck
GET /healthz Einfacher Health-Check
GET /api/status Indexgröße und Zeit des jüngsten Dokuments
GET /api/search?q=<begriff> Volltextsuche; ohne q die neuesten Dokumente
GET /api/documents/{id} Vollständigen Inhalt eines indexierten Dokuments lesen
POST /api/reindex Quellverzeichnis erneut einlesen

Die Anwendung dient auch als kleines Beispiel für FTS_SEARCH; bei einer nicht auswertbaren erweiterten Suchanfrage fällt sie auf eine einfache Textsuche zurück.

Betriebshinweis

Der Index enthält den Dokumentinhalt und die API kann ihn ausliefern. Deshalb die Anwendung nur lokal an 127.0.0.1 binden oder vor einem Netzwerkzugriff mit Authentifizierung und TLS absichern.

Documentation

Overview

Command docsearch provides a local, persistent document search with a small browser UI. It indexes a chosen directory into TinySQL and uses FTS_SEARCH where available, with a conservative substring-search fallback.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL