跳转到内容

反查 / 辅助筛选

反查功能用于在不清楚某个字的拼音编码与/或辅助码时,通过拆分部件来查找目标字。

部件拆分方式

两分

将一个字拆分为偏旁和部首。

示例

以「树」字为例:可拆分为「木」和「对」两部分。

  • 「木」的拼音编码为 mu
  • 「对」的拼音编码为 dui

因此,拆分编码为 mudui

多分

将一个字拆分为多个部件。

示例

以「树」字为例:可拆分为「木」「又」「寸」三个部件。

  • 「木」的拼音编码为 mu
  • 「又」的拼音编码为 you
  • 「寸」的拼音编码为 cun

因此,拆分编码为 muyoucun

笔画

将一个字拆分为笔画(横、竖、撇、折、捺)。

示例

以「树」字为例:笔画顺序为「一丨ノ丶フ丶一丨丶」。

  • 「一」的编码为 h
  • 「丨」的编码为 s
  • 「ノ」的编码为 p
  • 「丶」的编码为 n
  • 「フ」的编码为 z
  • 「丶」的编码为 n
  • 「一」的编码为 h
  • 「丨」的编码为 s
  • 「丶」的编码为 n

因此,拆分编码为 hspnznhsn

笔画拆分支持三种编码方案:

  • hspzn
  • hupvd(双拼编码)
  • hslzy(乱序17编码)

笔画拆分编码可在 wanxiang_reverse.custom.yaml 中配置:

yaml
patch:
  speller/algebra:
    __patch: wanxiang_algebra:/reverse/hspzn

反查

输入反查符 ` + 拆分编码,从部件拆分查找目标字。

示例

以「树」字为例,可通过以下方式输入:

  • 反查符 ` + 两分拆分编码 mudui`mudui
  • 反查符 ` + 多分拆分编码 muyoucun`muyoucun
  • 反查符 ` + 笔画拆分编码 hspnznhsn`hspnznhsn

辅助筛选(输入后反查)

输入拼音后,输入反查符 ` + 拆分编码进行二次筛选。

  • 对于单字,支持两分、多分、笔画拆分。

    示例

    以「树」字为例,可通过以下方式输入:

    • 拼音编码 shu + 反查符 ` + 两分拆分编码 muduishu`mudui
    • 拼音编码 shu + 反查符 ` + 多分拆分编码 muyoucunshu`muyoucun
    • 拼音编码 shu + 反查符 ` + 笔画拆分编码 hspnznhsnshu`hspnznhsn
  • 仅 Pro 对于词组,匹配辅助码序列的任意子字符串。

    示例

    以「你好」为例:

    • 「你」的拼音编码为 ni,辅助码为 re
    • 「好」的拼音编码为 hk,辅助码为 nz

    辅助码序列 renz 有以下子字符串:

    • renz
    • rernrzeneznz
    • renrezenz
    • renz

    因此,可通过拼音编码 nihk + 反查符 ` + 以上任意子字符串进行输入。

配置

yaml
recognizer:
  patterns:
    wanxiang_reverse: "^`[A-Za-z;]*$"

lookup_filter:
  # 检索的标签。将检索带有所选标签的候选。
  tags: [abc, user_dict_appender]

  # 反查引导符,需添加至 speller/alphabet。
  trigger: "`"

  # 反查数据库。
  dict: wanxiang_reverse

  # 反查数据来源及顺序。
  # aux: 词库携带的辅助码。
  # db: 反查方案数据库。
  data_source: [aux, db]

基于 CC-BY-4.0 许可发布