拼音过滤器(Pinyin Filter)

拼音过滤器 #

pinyin 词元过滤器将中文词元转换为拼音表示,来自 analysis-pinyin 插件。

前提条件 #

需要安装 analysis-pinyin 插件:

bin/easysearch-plugin install analysis-pinyin

功能说明 #

此过滤器可以:

  • 将汉字转换为拼音全拼或首字母
  • 保留或移除原始中文词元
  • 支持多种输出格式组合

使用示例 #

PUT my-pinyin-index
{
  "settings": {
    "analysis": {
      "filter": {
        "my_pinyin": {
          "type": "pinyin",
          "keep_full_pinyin": true,
          "keep_first_letter": true,
          "keep_original": true,
          "limit_first_letter_length": 16
        }
      },
      "analyzer": {
        "pinyin_analyzer": {
          "type": "custom",
          "tokenizer": "ik_smart",
          "filter": ["my_pinyin"]
        }
      }
    }
  }
}

测试效果 #

GET /_analyze
{
  "tokenizer": "ik_smart",
  "filter": [{"type": "pinyin", "keep_full_pinyin": true}],
  "text": "中华人民共和国"
}

参数 #

参数默认值说明
keep_first_lettertrue保留拼音首字母(如 “中国” → zg
keep_full_pinyintrue保留全拼(如 “中” → zhong
keep_joined_full_pinyinfalse连接全拼(如 “中国” → zhongguo
keep_originalfalse保留原始中文词元
keep_none_chinesetrue保留非中文字符
keep_none_chinese_in_first_lettertrue首字母模式中保留非中文
keep_none_chinese_togethertrue非中文字符连续保留
none_chinese_pinyin_tokenizetrue拼音字母也参与分词
limit_first_letter_length16首字母最大长度
lowercasetrue拼音小写
trim_whitespacetrue移除空白
remove_duplicated_termfalse移除重复词项

相关链接 #