About Whoosh
Whoosh is a fast, featureful full-text indexing and searching library
implemented in pure Python. Programmers can use it to easily add search
functionality to their applications and websites. Every part of how Whoosh
works can be extended or replaced to meet your needs exactly.
Some of Whoosh's features include:
- Pythonic API.
- Pure-Python. No compilation or binary packages needed, no mysterious crashes.
- Fielded indexing and search.
- Fast indexing and retrieval -- faster than any other pure-Python search solution I know of. See Benchmarks.
- Pluggable scoring algorithm (including BM25F), text analysis, storage,
posting format, etc. - Powerful query language.
- Pure Python spell-checker (as far as I know, the only one).
Whoosh might be useful in the following circumstances:
- Anywhere a pure-Python solution is desirable to avoid having to build/compile
native libraries (or force users to build/compile them). - As a research platform (at least for programmers that find Python easier to
read and work with than Java ;) - When an easy-to-use Pythonic interface is more important to you than raw
speed. - If your application can make good use of one deeply integrated search/lookup solution you can rely on just being there rather than having two different search solutions (a simple/slow/homegrown one integrated, an indexed/fast/external binary dependency one as an option).
Whoosh was created and is maintained by Matt Chaput. It was originally created
for use in the online help system of Side Effects Software's 3D animation
software Houdini. Side Effects Software Inc. graciously agreed to open-source
the code.
Learning more
- Read the online documentation.
- Join the Whoosh mailing list.
- Join the
##whoosh
IRC channel on chat.freenode.net (this is no official support channel). You can use thewhoosh web chat interface
. "Ask/tell AND WAIT" is the motto there. - Look at Whoosh's OHLOH page.