Agent Skills
返回列表
拼音检索键

拼音检索键

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_f1b049da/otmo20263223。

技能介绍

中文搜索里那些“打不出来”的字

在客户管理、公司名录这类中文列表里,用户搜索时不一定能准确打出汉字。输入 hx 想查“华信”,输入 huaxin 想找“华信银行”——传统做法要求用户记住完整名称,或引入额外的模糊匹配逻辑,体验既不自然,也容易漏掉结果。

拼音检索键 是为这个问题而生的轻量技能。它不做发音展示,只专注一件事:在写入或查询时为中文文本预生成拼音检索键,让拼音输入也能命中目标记录。

核心能力:三键入库,多场景命中

基于 pinyin-pro 库,输出三个字段:

  • full:全拼无空格,例如“华信”→ huaxin
  • initials:首字母串,例如“深圳华信”→ szhx
  • mixed:原文+全拼+首字母空格拼接,例如 深圳华信 huaxin szhx

这三个字段可以灵活拼进搜索 haystack,典型用法:

  1. 写入数据时预计算 keys 并存入记录,实现持久化检索
  2. 搜索时实时调用 matchByPinyinKeys(companyName, query) 过滤
  3. 把 full 和 initials 并入 Fuse.js、MiniSearch 等模糊搜索库的索引字段

关键步骤示例:

// 客户列表过滤
const filtered = list.filter((c) => matchByPinyinKeys(c.companyName, q.toLowerCase()));
// 输入 hx 或 huaxin 都能命中“深圳华信科技有限公司”

适用边界与注意点

  • 多音字:以 pinyin-pro 默认读音为准。关键名称(人名、品牌名)建议维护别名表补充,本技能不强制但支持扩展。
  • 空串处理:输入为空字符串时,三个字段均返回 '',不会引发异常。
  • 互补技能:本技能专注检索命中,不做发音展示;若需声调标注或朗读,请用“汉字转拼音”。
  • 性能考量:实时计算适合中小列表;大规模数据建议写入时预计算并索引 mixed 字段,避免每次搜索重复转换。

使用场景

  • 在客户列表搜索框输入 `hx`,需要快速过滤出名称含「华信」的公司记录。
  • 建索引时为每条客户数据预计算拼音字段,实现后续按拼音键检索。
  • 使用 Fuse 或 MiniSearch 时,要把 `full` 和 `initials` 并入检索字段以提升匹配率。
  • 输入 `huaxin` 需要命中「华信」相关企业,且不能要求用户输入完整汉字。

适合人员

  • 维护客户管理系统、需要在搜索框支持拼音缩写的前端或全栈工程师。
  • 构建搜索索引、希望降低中文名称漏检率的后端开发或搜索工程师。
  • 集成 Agent 工具链、需要让模型按拼音键过滤列表的开发者。
  • 处理大量中文名称数据、需要兼顾全拼与首字母检索的架构或数据工程师。