Sphinx
全文检索引擎
Sphinx是一种Python社区编写和使用的文档生成器,也可在其他环境中使用,它是一种全文检索引擎。
简介
Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL, PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP, Python, Perl, Ruby等,同时为MySQL也设计了一个存储引擎插件。此外,Sphinx是用Python编写的,它将reStructuredText文件转换为HTML网站和其他格式,如PDF、EPUB、Texinfo和man,广泛应用于Python项目的文档开发。
功能
Sphinx的主要功能包括:
- 高速索引 (在新款CPU上,近10 MB/秒);
- 高速搜索 (2-4G的文本量中平均查询速度不到0.1秒);
- 高可用性 (单CPU上最大可支持100 GB的文本,100M文档);
- 提供良好的相关性排名
- 支持分布式搜索;
- 提供文档摘要生成;
- 提供从MySQL内部的插件式存储引擎上搜索
- 支持布尔,短语, 和近义词查询;
- 支持每个文档多个全文检索域(默认最大32个);
- 支持每个文档多属性;
- 支持断词;
- 支持单字节编码与UTF-8编码。
Sphinx的reStructuredText是可扩展的,通过许多扩展来利用其可扩展性,例如用于从源代码自动生成文档、编写数学符号或突出显示源代码等。
发展历程
Sphinx于2008年3月21日发布了第一个公共版本0.1.61611。它不仅被广泛应用于Python项目的文档开发,如Bazaar、SQLAlchemy、MayaVi、SageMath、SciPyDjango和Pylons,还用于Blender用户手册和Python API文档。
2010年,Eric Holscher宣布创建Read the Docs项目,作为使软件文档维护更容易的努力的一部分,该项目可以在每次提交之后自动构建和上传Sphinx文档。
2016年,Linux内核的文档子系统在发生了变化,从4.7开发周期开始,文档开始切换到使用Sphinx。
参考资料

Warning: Invalid argument supplied for foreach() in /www/wwwroot/newbaike1.com/id.php on line 362
目录
概述
简介
功能
发展历程
参考资料