Sphinx HTML输出的搜索功能的不同URL参数有什么影响?

2022-04-20 00:00:00 python python-sphinx

问题描述

Sphinx生成的HTML文档包括搜索界面。

例如,当在官方的Python文档中搜索术语"open"时,该URL被构造为:

https://docs.python.org/3/search.html?q=popen&check_keywords=yes&area=default

不同的URL参数有什么影响?

Sphinx

Sphinx生成的推荐答案文档的搜索执行完全基于Java脚本,工作方式如下:

  • 生成Sphinx项目时,将创建包含搜索索引的JavaScript文件(searchindex.js)。

  • 当您执行搜索查询时,搜索前端将识别所有被视为命中的文件,并从服务器获取它们的源文件。这些是简单的文件GET请求,只需要静态文件服务器。将显示包含适合字符序列的这些文件的片段。

令人惊讶的是,搜索算法(searchtools.js目录中的html构建中的searchtools.js)只考虑第一个(q)查询参数。忽略所有其他参数。

请注意,可以将Sphinx连接到搜索后端。例如,文档托管服务读取文档implements an Haystack/Elasticsearch-based search back end。这意味着我的解释不一定适用于Sphinx生成的文档集的所有实例。

相关文章