What is Whoosh and when should you use it?
mainWhoosh is a fast, pure-Python search engine library designed for indexing free-form or structured text and performing searches based on simple or complex criteria.
Key characteristics include:
- Pure Python: Runs anywhere Python runs without requiring a compiler or Java.
- Customizable: Most core behaviors—including text indexing, term information storage, query parsing, and scoring algorithms—are extensible and replaceable.
- Ranking: Uses
Okapi BM25Fas the default ranking function, but supports custom scoring. - Storage: Creates relatively small indexes and allows storing arbitrary Python objects alongside indexed documents.
- Requirement: All indexed text must be unicode.