帮助中心那个搜索框在企业版里其实是“跨模块检索入口”,不是某个单表的全文搜索。
team slug 先把搜索范围框住
website_helpdesk 会在请求里带上当前 team 的 slug,并把日期、tag、模糊搜索选项一起送入 _get_search_options()。这一步决定的不是展示样式,而是后续各模块该按哪个帮助团队理解这次搜索。
Knowledge 不是全站裸搜
website_helpdesk_knowledge 的 _search_get_detail() 会读取 options['helpdesk'],再把结果域收窄到团队绑定的 website_article_id 子树。看起来像是在搜知识库,实际上搜的是“这个 team 公开给访客看的那棵知识树”。
Slides 再做一次公开性翻译
website_helpdesk_slides 不只增加 slides 搜索类型,还会根据频道公开级别、会员身份和预览权限决定给顾客哪条 URL。也就是说,课程结果不是文章结果的平替,而是另一套带访问条件的输出。
调试时该先看哪里
同一个词在两个 team 下结果不一样,优先看 team 的根文章和频道权限,再看模板。多数“搜索不一致”不是索引坏了,而是 team 上下文不同。
DISCUSSION
评论区