Xapian is an open source probabilistic information retrieval library. It is a full text search engine library for programmers.
The Xapian search engine library is a highly adaptable toolkit which allows developers to easily add advanced indexing and search facilities to their own applications. It implements the probabilistic model of information retrieval, and provides facilities for performing ranked free-text searches, relevance feedback, phrase searching, Boolean searching, stemming, and simultaneous update and searching. It is highly scalable, and is capable of working with collections containing hundreds of millions of documents.
It supports a rich set of Boolean query operators.
Xapian is written in C++, with bindings to allow use from Perl, Python, PHP, Java, Tcl, C#, Ruby, Lua and Erlang.
Key Features
- Supports database files > 2GB – essential for scaling to large document collections.
- 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 be scalable to hundreds of millions of documents.
- Accurate probabilistic ranking: more relevant documents are listed first.
- Phrase and proximity searching – users can search for words occurring in an exact phrase or within a specified number of words, either in a specified order, or in any order.
- 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.
- Faceted search – dynamically generate complete lists of category values which feature in matching documents.
- Supports Unicode (including codepoints beyond the BMP), and stores indexed data in UTF-8
- Highly portable.
Website: xapian.org
Support: Documentation
Developer: Olly Betts, Hein Ragas, James Aylett, Sam Liddicott, Richard Boulton, Dan Colish
License: GNU General Public License v2.0
Xapian is written in C++. Learn C++ with our recommended free books and free tutorials.
Related Software
| Search Engines for Big Data | |
|---|---|
| ElasticSearch | Flexible and powerful distributed RESTful search engine and analytics |
| Solr | Search engine server that uses Lucene |
| Lucene | Search engine library |
| Quickwit | Cloud-native search engine |
| MeiliSearch | Easy to use and deploy search engine |
| OpenSearch | Enterprise-grade search and observability suite |
| Sphinx | Search engine designed with indexing database content in mind |
| Xapian | Probabilistic information retrieval library |
| Typesense | Fast, typo-tolerant search engine |
| Manticore Search | Easy to use fast database for search |
| RediSearch | Query and indexing engine for Redis |
| ParadeDB | PostgreSQL extension adding search and analytical capabilities to Postgres |
| Vespa | AI search platform |
| Mroonga | MySQL storage engine based on the Groonga search engine |
| PGroonga | Adds a Groonga-powered index access method |
| Groonga | Fulltext search engine and column store |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

