v0.1.0
Initial release of go-xapian — a thin, dependency-free cgo binding over the Xapian C++ search library, extracted from the yarilo mail server for independent reuse.
Features
WDB— writable database: open, commit, replace/delete document, set/get metadata, doc count/exists.DB— read database (combines shards): open-multi, last docid, docids, compact, search.Doc— document builder: add free-text / boolean terms.Query— wildcard / term / match-all / combine (AND, OR, AND_NOT).MSetEntry— ranked search hits (docid + weight).
Xapian C++ exceptions are converted into Go errors via an extern "C" shim.
Requirements
- Go 1.26+
- libxapian development headers (
libxapian-dev/brew install xapian)
License
GPL-2.0-or-later (Xapian is GPL; linking it makes this binding GPL too).