如何调整Python Sphinx以便我可以获得精美的网站搜索结果?

问题描述 投票:0回答:2

我真的很喜欢Python-Sphinx文档工具,但有一件事让我烦恼的是,我几乎无法从sphinx搜索框中获得正确的搜索结果:

enter image description here

所以我想知道是否有任何技巧,以便我可以从Sphinx搜索框获得更好的搜索性能?此外,是否有任何工具允许我用自定义谷歌搜索替换Sphinx搜索框?

谢谢!

编辑:我刚刚发现Scipy搜索框自动链接到谷歌。我想知道是否有人知道他们是如何实现的?

python scipy python-sphinx
2个回答
1
投票

Sphinx搜索功能目前不是非常强大/可配置。

要解决您的问题,您也可以

1)实现自己的Sphinx搜索或

2)调整您的Sphinx模板以支持自定义Google搜索。

对于1),您可能想要查看非稳定的Sphinx扩展sphinxcontrib-lunrsearch 0.2

2),阅读Sphinx templating documentation

Sphinx project on GitHub中存在一些可能涉及到您想要的方向的未解决问题,因此您可以尝试回馈该项目并获得Sphinx社区的支持。


1
投票

Google搜索框的集成在Sphinx常见问题解答部分中进行了描述,您需要申请Google帐户。它按预期对我有用。也许您可能需要调整CSS Z-Index以避免根据您的主题按内容覆盖搜索结果。

来自:https://www.sphinx-doc.org/en/master/faq.html?highlight=google%20search

Google Search

要使用Google搜索替换Sphinx的内置搜索功能,请按以下步骤操作:

  1. 转到https://cse.google.com/cse/all创建Google搜索代码段。
  2. 复制代码段并将其粘贴到Sphinx项目中的_templates/searchbox.html中: <div> <h3>{{ _('Quick search') }}</h3> <script> (function() { var cx = '......'; var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true; gcse.src = 'https://cse.google.com/cse.js?cx=' + cx; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s); })(); </script> <gcse:search></gcse:search> </div>
  3. searchbox.html添加到html_sidebars配置值。
© www.soinside.com 2019 - 2024. All rights reserved.