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