es拼音分词器(仅供自己参考)

github地址:https://github.com/infinilabs/analysis-pinyin(各种版本,对接es版本)

拼音分词器存在的问题:

1、是直接将每个字的拼音返回和一段话的拼音首字母返回,不能很好的分词。

2、不会保留中文,转为拼音之后,没有中文存在。

自定义分词器

默认的拼音分词器会将每个汉字单独分为拼音,而我们希望的是每个词条形成一组拼音,需要对拼音分词器做个性化定制,形成自定义分词器。

elasticsearch中分词器(analyzer)的组成包含三部分:

1、 character filters:在tokenizer之前对文本进行处理。例如删除字符、替换字符

2、tokenizer:将文本按照一定的规则切割成词条(term)。例如keyword,就是不分词;还有ik_smart

3、tokenizer filter:将tokenizer输出的词条做进一步处理。例如大小写转换、同义词处理、拼音处理等

文档分词时会依次由这三部分来处理文档:

自定义分词器的配置:(只能是相应的索引库使用,创建了test索引库,那么自定义的只能在这个索引库中使用。不能在其他索引库中使用)

bash 复制代码
#自定义分词器,在ik和py的基础上自定义
PUT /test
{
  "settings": {
    "analysis": {
      "analyzer": { 
        "my_analyzer": { 
          "tokenizer": "ik_max_word",        #分词用ik
          "filter": "py"            #配置拼音分词器
        }
      },
      "filter": {
        "py": { 
          "type": "pinyin",        #拼音分词器
          "keep_full_pinyin": false,         #   关闭了单个字符的转为拼音
          "keep_joined_full_pinyin": true,    #开启了词语的拼音转换
          "keep_original": true,                #保留中文
          "limit_first_letter_length": 16,        #首字母的长度小于16
          "remove_duplicated_term": true,        #去除重复的
          "none_chinese_pinyin_tokenize": false    #禁止除中文以为的其他语言转为拼音
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "name":{
        "type": "text",
        "analyzer": "my_analyzer",
        "search_analyzer": "ik_smart"
      }
    }
  }
}

为了避免搜索的时候使用拼音搜到同音词,所以在搜索的时候使用ik分词器"search_analyzer": "ik_smart"

相关推荐
不仙5201 小时前
VMware Workstation 26.0.0 在 Ubuntu 24.04 (内核 6.17.0) 上的安装与内核模块编译问题
linux·ubuntu·elasticsearch
189228048611 小时前
NY352固态MT29F32T08GWLBHD6-24QJ:B
大数据·服务器·人工智能·科技·缓存
不开大的凯20772 小时前
麦当秀AiPPT战略转向:从SaaS订阅迈向Token经济,AI办公定价模式迎来新探索
大数据·人工智能
程序鉴定师2 小时前
西安小程序制作的可靠选择与发展前景
大数据·小程序
黎阳之光2 小时前
黎阳之光:以视频孪生重构智慧医院信息化,打造高标项目核心竞争力
大数据·人工智能·物联网·算法·数字孪生
qziovv3 小时前
Git 回退场景
大数据·git·elasticsearch
ZeroNews内网穿透4 小时前
面向 AI 协作的本地客户端能力:ZeroNews Agent Skills
大数据·人工智能·elasticsearch
SelectDB4 小时前
Agent 时代,为什么传统的可观测方案不适用了?
大数据·数据库·数据分析
Elastic 中国社区官方博客4 小时前
快 12 倍的 Elasticsearch 向量索引:使用 GPU 和 CPU 分层部署 NVIDIA cuVS
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·nvidia
鹧鸪云光伏4 小时前
光伏设计软件:多屋脊房型如何设计?
大数据·信息可视化·光伏·光伏设计·光伏图纸