跳转到内容

反查 / 辅助筛选 ​

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

部件拆分方式 ​

两分 ​

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

示例

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

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

因此,拆分编码为 mudui。

多分 ​

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

示例

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

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

因此,拆分编码为 muyoucun。

笔画 ​

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

示例

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

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

因此,拆分编码为 hspnznhsn。

笔画拆分支持四种编码方案,每种方案的笔画与按键对应关系如下:

方案横(一)竖(丨)撇(ノ)折(フ)捺 / 点(丶)
hspznhspzn
hupvdhupvd
hspvdhspvd
hslzyhslzy

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

yaml
patch:
  speller/algebra:
    __patch:
      # 可选笔画拆分编码方案:
      # - "hspzn"(横 h、竖 s、撇 p、折 z、捺/点 n)
      # - "hupvd"(横 h、竖 u、撇 p、折 v、捺/点 d)
      # - "hspvd"(横 h、竖 s、撇 p、折 v、捺/点 d)
      # - "hslzy"(横 h、竖 s、撇 l、折 z、捺/点 y)
      - wanxiang_algebra:/reverse/hspzn

反查 ​

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

示例

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

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

辅助筛选(输入后反查) ​

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

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

    示例

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

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

    示例

    以「你好」为例:

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

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

    • r、e、n、z
    • re、rn、rz、en、ez、nz
    • ren、rez、enz
    • renz

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

配置 ​

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

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

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

  # 反查词典。
  dictionary: wanxiang_reverse

  # 反查数据来源及顺序。
  # aux_code: 词库携带的辅助码。
  # dictionary: 反查词典。
  sources:
    - aux_code
    - dictionary

基于 CC-BY-4.0 许可发布