【问题标题】:How can I add a site search feature to a Jekyll Blog?如何向 Jekyll 博客添加站点搜索功能?
【发布时间】:2012-04-25 06:27:47
【问题描述】:

我正在考虑将我的网站从 Wordpress 迁移到 Jekyll,并希望保持对网站进行全文搜索的能力。 Wordpress 搜索快速、可靠且格式与主题相匹配,但我还没有找到合适的替代品。

有一个plugin solution that uses indextank,但我不想通过商业 API 将我的搜索与用户对搜索项进行排名联系起来,我只想要与 Wordpress 搜索相媲美的东西。

我也查看了google Ajax api,但我不想在网站上使用浮动 ajax 搜索框。

总是有 google 搜索该网站,但我发现这并不可靠。 (自从几年前我搬到 wordpress 以来,我还没有尝试过这个,所以也许我弄错了)。

由于所有帖子都以纯文本形式提供,因此在构建网站时创建用于搜索它们的索引似乎应该不难,但我没有找到一个好的解决方案。有什么建议或例子吗?

【问题讨论】:

  • 您是在自己的网络服务器上运行它吗? (即你可以运行服务器端脚本吗?)
  • 我是,不过我很想知道是否有适用于 github 托管网站的解决方案。
  • 恐怕在 GitHub 上你最好的选择是 JavaScript 搜索,例如 Tipue Search
  • @mantawork -- 不错的建议。我不清楚 Tipue Search 是如何在tipuesearch_data.js 中生成数据的——这必须手动输入吗?
  • 回答@manatwork:不,数据不需要手动输入。 Alex Pearce 有一个great blog post here,其中包含如何动态创建站点数据的示例(我建议将“null”替换为“false”)。该示例创建了一个用于创建标签页的 .json 文件,但该代码还可以创建一个 .js 文件,该文件有助于在 Tipue 上返回用户输入的搜索结果。

标签: wordpress search github jekyll


【解决方案1】:

Jekyll + lunr.js = 强大的全文搜索,在您的浏览器中使用 JavaScript,用于您的 Jekyll 静态网站

【讨论】:

  • 谢谢!这是否会将所有站点文本加载到浏览器内存中?似乎该解决方案可能无法很好地扩展,尽管显然它需要大量文本来占用大量空间。我目前正在使用 Marran 的词干搜索的调整版本:marran.com/tech/jquery-full-text-indexing-on-jekyll
  • @cboettig 是的,它会将整个索引加载到内存中进行搜索。将取决于您的 Jekyll 站点的大小,对于大型站点需要考虑。不确定要引起问题的确切程度。
  • Iron.io 正在迁移到 Lunr.js 是否有很好的网站示例可以很好地执行用户体验?
  • @BenSmith 可以在服务器上工作吗?我跟着你一步。当我使用 jekyll 服务器时它可以工作。但我将其上传到服务器。它不起作用
  • Lunr.js 是一个静态的 javascript 全文搜索引擎编写器,它不需要任何后端或服务器。
【解决方案2】:

调查Google Custom Search的一个选项。

您提到过去曾尝试使用 Google,但我不确定您是否指的是自定义搜索框 described here 发布此内容以防万一。

【讨论】:

  • 我知道 google 自定义搜索只是网站搜索的一个包装器,它可以让您将结果(免费版本中的广告)嵌入到您的网站正文中?看起来它们确实让您可以自定义 css 以匹配。这很有帮助,但不是我想要的。
  • 我也在努力让我的 jekyll 网站启动并运行。如果我想出别的东西,我会在这里发回。
  • 在尝试了 Ben 的 lunr.js 解决方案(上图)和 Marran 的内存较少的 fast stemming search 之后,我决定回滚到这个简单的 Google 搜索。当我需要不同的东西时,我只是对我的 repo 副本进行 grep ;-)
【解决方案3】:

【讨论】:

  • 另外,您需要在 Search SaaS 中拥有一个帐户。在indexden.com,您可以免费获得它。
【解决方案4】:

https://github.com/chinchang/super-search/

这不需要额外的配置。只需即插即用的库,即可在您的 jekyll 博客的 RSS 提要上使用简洁的页面搜索 UI。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    相关资源
    最近更新 更多