Whoosh 是一个纯Python实现的全文搜索组件。Whoosh不但功能完善,还非常的快。
Whoosh的作者是MattChaput,由Side Effects Software公司开发。项目的最初用于HoudiNi(Side Effects Software公司开发的3D动画软件)的在线帮助系统。Side Effects Software公司将该项目开源。
主要特性:
* 敏捷的API(Pythonic API)。
* 纯python实现,无二进制包。程序不会莫名其妙的崩溃。
* 按字段进行索引。
* 索引和搜索都非常的快 -- 是目前最快的纯python全文搜索引擎。
* 良好的构架,评分模块/分词模块/存储模块等各个模块都是可插拔的。
* 功能强大的查询语言(通过pyparsing实现功能)。
* 纯python实现的拼写检查(目前唯一的纯python拼写检查实现)
为啥选择Whoosh
* 纯python实现,省了编译二进制包的繁琐过程。
* python代码比Java更容易读懂,而且用起来也更方便。(翻者注:这个容易引发口水)
* 在很多时候易用性比单纯的最求速度更重要。
Whoosh从其他的开源搜索引擎中获取了大量的灵感。 基础构建参考Lucene,使用Kinosearch的索引算法,部分评分算法来自TerrIEr,英文的词语态变化来自Minion.