Skip to content

v0.1.0

Choose a tag to compare

@0kaba0hub 0kaba0hub released this 19 Jul 12:27

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).