ES自定义Analyzer扩展IK分词

IPS产品关键词搜索需求要对英文标题、品牌(英文)、规格属性(英文)、产品型号、描述属性、商品特征、关键搜索词等字段进行模糊匹配搜索
前期由于拿不到数据也不清楚具体数据是什么样的,并且线上集群也没有安装IK分词器,于是做了两套方案一是直接使用模糊查询,二是使用分词查询
后面因为开发进度问题,也一直拿不到正式数据,暂时使用第一套方案,若出现性能问题再做优化
由于线上ES没有安装IK分词器,也不确定数据中会不会有中英文混合的数据,所以先自己用虚拟机搭了集群做实验,方便后期优化:
因为仅使用英文分词器,或中文分词器,对这种中英文混合的数据都不是很友好,只用中文分词器对英文单词不会进行词干提取,会降低命中率,而用英文分词则会把一句中文仅仅分成一个一个字
所以要进行自定义分词

ElasticSearch的分析器实际上是将三个功能封装在一起,这三个功能按照顺序执行,而这三个功能都是能自定义的
①字符过滤器 (char_filter)
首先,字符串按顺序通过每个字符过滤器,他们的任务是在分词前整理字符串
②分词器 (tokenizer)
其次,字符串被分词器分爲单个的词条,一个简单的分词器遇到空格和标点的时候,可能会将文本拆分成词条
Hello, how are you?会被ES预设的分词器standard分成hello、how、are、you
③Token 过滤器 (filter)
最后,词条按顺序通过每个 token 过滤器,这个过程可能会改变词条(Quick -> quick)、删除词条(a、an、and、the…)、增加词条(jump和leap这种同义词)
在这里插入图片描述
这里我们在创建索引的时候要setti

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值