前言
部署搜索系统并不意味着工作的结束。 当用户开始实际使用搜索后,可能会出现”找不到期望的结果””不相关的结果排在前面”等反馈。
本文介绍一种搜索质量调优循环,通过分析搜索日志发现问题、实施改进措施并衡量效果。 这不是一次性实现完美搜索质量的做法,而是基于数据持续改进的方法。
目标读者
搜索系统运维人员
希望改善搜索质量的人员
已在运行 Fess 并收到用户反馈的人员
搜索质量调优循环
搜索质量的改进按照以下4个步骤的循环进行。
分析:查看搜索日志,确定问题
改进:针对确定的问题实施改进措施
验证:确认改进措施的效果
持续:重复循环,持续提升质量
步骤1:搜索日志分析
如何查看搜索日志
Fess 会自动记录用户的搜索行为。 可以通过管理界面的 [系统信息] > [搜索日志] 查看搜索日志。
搜索日志包含以下信息:
搜索关键词
搜索时间
搜索结果数量
用户代理
需要关注的模式
分析搜索日志时,有一些需要特别关注的模式。
零命中查询
即搜索结果为0条的查询。 可能是用户寻找的信息不存在,也可能是搜索关键词未能正确匹配。
例如,搜索”员工旅行”零命中,但存在名为”员工休闲活动”的文档。 这可以通过配置同义词来解决。
高频查询
频繁搜索的关键词代表了组织的重要信息需求。 请检查这些查询是否在前列显示了合适的结果。
点击日志
记录搜索结果中哪些链接被点击。 如果排名靠前的结果没有被点击,而只有排名靠后的结果被点击,则说明排名有改进空间。
步骤2:实施改进措施
根据分析结果,组合实施以下改进措施。
配置同义词
注册同义词以处理表述差异和缩写。
通过管理界面的 [系统] > [词典] 选择同义词词典进行配置。
配置示例:
社員旅行,従業員レクリエーション,社内イベント
PC,パソコン,コンピュータ
AWS,Amazon Web Services
k8s,Kubernetes
配置同义词后,搜索某个词也会命中包含其同义词的文档。
配置 Key Match
该功能可以针对特定关键词将特定文档显示在最顶部。
通过管理界面的 [爬虫] > [Key Match] 进行配置。
例如,可以配置当用户搜索”费用报销”时,费用报销手册页面显示在最顶部。
| 搜索词 | 查询 | 提升值 |
|---|---|---|
| 経費精算 | url:https://portal/manual/expense.html | 100 |
| 有給申請 | url:https://portal/manual/paid-leave.html | 100 |
| VPN接続 | url:https://portal/manual/vpn-setup.html | 100 |
配置文档提升
调整符合特定条件的文档的整体评分。
通过管理界面的 [爬虫] > [文档提升] 进行配置。
例如,可以考虑以下提升策略:
提高官方手册(门户网站)的评分
优先显示最后更新日期较新的文档
提高具有特定标签(官方文档)的评分
配置关联查询
该功能在搜索结果页面推荐相关关键词。 帮助用户缩小搜索范围或从不同角度进行搜索。
通过管理界面的 [爬虫] > [关联查询] 进行配置。
配置示例:
「VPN」→ 関連クエリ: 「VPN接続方法」「リモートワーク」「社外アクセス」
配置停用词
配置在搜索时应忽略的词语。 “の””は””を”等常见助词默认已处理,但如有行业特定的噪音词,可以额外添加。
通过管理界面的 [系统] > [词典] 选择停用词词典进行配置。
步骤3:效果验证
实施改进措施后,验证其效果。
验证方法
零命中率的变化
确认改进前后零命中查询比例的变化。 如果添加同义词或配置 Key Match 后零命中率有所下降,则可以判断改进是有效的。
点击位置的变化
确认搜索结果中第几位被点击的分布情况。 如果点击排名靠前结果的比例有所增加,则可以判断排名得到了改善。
热门词确认
查看搜索页面显示的热门词,以及从搜索日志中汇总的高频搜索关键词。 用热门词进行搜索,手动确认是否返回了合适的结果,也是一种有效的方法。
步骤4:持续改进
搜索质量调优并非一次性的工作。
建立运维循环
建议建立如下运维循环。
| 频率 | 操作 | 内容 |
|---|---|---|
| 每周 | 检查零命中查询 | 检查是否有新的零命中查询,通过同义词或 Key Match 进行应对 |
| 每月 | 搜索日志整体分析 | 确认高频查询、点击率、零命中率的趋势 |
| 每季度 | 综合评审 | 对搜索质量进行综合评价并制定改进计划 |
用户反馈
除了日志分析之外,来自实际用户的反馈也是重要的改进输入。 请建立收集反馈的机制,如”用这个关键词找不到””这个结果很有帮助”等。
总结
本文介绍了持续改进搜索质量的调优循环。
搜索日志分析(零命中、高频查询、点击日志)
通过同义词、Key Match、文档提升、关联查询进行改进
改进效果的验证方法
建立持续的运维循环
让我们通过基于数据的改进来培养搜索质量,从”被使用的搜索”迈向”有用的搜索”。
下一篇将探讨多语言环境下的搜索基础设施构建。