Sphinx生成的HTML文档包含一个搜索界面。
例如,在官方Python文档中搜索术语“popen”时,构造此URL:
https://docs.python.org/3/search.html?q=popen&check_keywords=yes&area=default
不同的网址参数有什么影响?
答案 0 :(得分:12)
Sphinx生成的HTML文档的搜索执行完全基于JavaScript,其工作原理如下:
构建Sphinx项目时,将创建包含搜索索引的JavaScript文件(searchindex.js
)。
当您执行搜索查询时,搜索前端将识别所有被视为命中的文件并从服务器获取其源文件。这些是仅需要静态文件服务器的简单文件GET
请求。将显示包含拟合字符序列的这些文件的片段。
令人惊讶的是,搜索算法(searchtools.js
目录中的html构建中的_static
)仅考虑第一个(q
)查询参数。忽略所有其他参数。
请注意,可以将Sphinx连接到搜索后端。例如,文档托管服务阅读文档 implements an Haystack/Elasticsearch-based search back end。这意味着我的解释不一定适用于Sphinx生成的文档集的所有实例。