Xapian

Xapian is a free and open-source probabilistic information retrieval library, released under the GNU General Public License (GPL). It is a full-text search engine library for programmers.

It is written in C++, with bindings to allow use from Perl, Python (2 and 3), PHP (5 and 7), Java, Tcl, C#, Ruby, Lua, Erlang, Node.js and R. Xapian is highly portable and runs on Linux, OS X, FreeBSD, NetBSD, OpenBSD, Solaris, HP-UX, AIX, Windows, OS/2 and Hurd, as well as Tru64. Xapian grew out of the Muscat search engine, written by Dr. Martin F. Porter at the University of Cambridge. The first official release of Xapian was version 0.5.0 on September 20, 2002.

Xapian allows developers to add advanced indexing and search facilities to their own applications. Organisations and projects using Xapian include the Library of the University of Cologne, Debian, Die Zeit, MoinMoin, and One Laptop per Child.

Features

 * Supports Unicode 9.0 (including codepoints beyond the BMP) and stores indexed text in UTF-8.
 * Transactions: if database update fails in the middle of a transaction, the database is guaranteed to remain in a consistent state.
 * Simultaneous search and update, with new documents being immediately visible.
 * Support for large databases: Xapian has been proven to scale to hundreds of millions of documents.
 * Accurate probabilistic ranking: more relevant documents are listed first.
 * Phrase and proximity searching.
 * Relevance feedback, which improves ranking and can expand a query, find related documents, categorise documents etc.
 * Structured Boolean queries, e.g. "race AND condition NOT horse"
 * Wildcard search, e.g. "wiki*"
 * Spelling correction
 * Synonyms
 * Omega, a packaged solution for adding a search engine to a web site or intranet. Omega can easily be extended and adapted to fit changing requirements.

GUI front-ends

 * Recoll written using Qt