为了账号安全,请及时绑定邮箱和手机立即绑定

Hugo 的相关内容算法是如何工作的?有哪些因素?

Hugo 的相关内容算法是如何工作的?有哪些因素?

Go
哔哔one 2022-11-15 10:47:31
他们在他们的网站上说:Hugo 使用一组因素来根据 Front Matter 参数来识别页面的相关内容。这可以调整为所需的索引和参数集,或者留给 Hugo 的默认相关内容配置。资源但是算法究竟是如何工作的呢?有哪些因素?
查看完整描述

1 回答

?
慕仙森

TA贡献1827条经验 获得超7个赞

PR 3815中解释了原始方法gohugoio/hugo


已经开始多次尝试修复#98 —— 由于某种原因,所有尝试都失败了。

这是一个很难解决的问题,我认为失败的主要原因是自下而上的方法,即我们从最难的问题开始:解决 Sherlock 的最后一个案例。


我现在再次拿起这个球的原因是这个 Twitter 线程:


在页面参数中使用 intersect 和关键字工作得相当好,但它是二次的,并且对于较大的站点会很慢而无法使用。


因此,我没有解决最困难的问题,而是通过概述一个界面来开始这个 PR:


type PageSearcher interface {

  Search(args ...interface{}) (Pages, error)

  SearchIndex(index string, args ...interface{}) (Pages, error)

  Similar(p *Page) (Pages, error)

  SimilarIndex(index string, p *Page) (Pages, error)

}

欢迎命名建议。


这个想法是用户在 config.toml 中定义一组索引:


indexes:

 - param: keywords

   weight: 1

- param: tags

   weight: 3

然后我们懒惰地建立某种索引,然后您可以进行快速搜索,例如:


{{ .Site.RegularPages.Similar . }}

{{ .Site.RegularPages.Search "hugo" }}

{{ .Site.RegularPages.SearchIndex "keywords" "hugo" | limit 10 }}

初步实施:gohugoio/hugo commit 3b4f17b


查看完整回答
反对 回复 2022-11-15
  • 1 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信