企业 网站 / Helpdesk 搜索

Odoo 企业版网站:帮助台搜索框为什么会同时搜知识文章和课程,而且结果范围还跟团队走

website_helpdesk 把搜索入口开在帮助中心,但真正的结果集由 website_helpdesk_knowledge、website_helpdesk_slides 和 team slug 一起决定:同一个搜索词,对不同团队看到的文章、课程与链接可以完全不同。

企业 网站
进阶 开发者 1 分钟阅读
0 评论 0 点赞 0 收藏 4 阅读

帮助中心那个搜索框在企业版里其实是“跨模块检索入口”,不是某个单表的全文搜索。

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

评论区

想参与讨论?先 登录 再发表评论。
还没有评论,你可以成为第一个留言的人。