ES-分词器

1 normalization:文档规范化,提高召回率
2 字符过滤器(character filter):分词之前的预处理,过滤无用字符
HTML Strip Character Filter:html_strip
参数:escaped_tags 需要保留的html标签
Mapping Character Filter:type mapping
Pattern Replace Character Filter:type pattern_replace
3 令牌过滤器(token filter):停用词、时态转换、大小写转换、同义词转换、语气词处理等。比如:has=>have him=>he apples=>apple the/oh/a=>干掉
4 分词器(tokenizer):切词
5 常见分词器:
standard analyzer:默认分词器,中文支持的不理想,会逐字拆分。
pattern tokenizer:以正则匹配分隔符,把文本拆分成若干词项。
simple pattern tokenizer:以正则匹配词项,速度比pattern tokenizer快。
whitespace analyzer:以空白符分隔 Tim_cookie

6 自定义分词器:custom analyzer
char_filter:内置或自定义字符过滤器 。
token filter:内置或自定义token filter 。
tokenizer:内置或自定义分词器。

7 中文分词器:ik分词
安装和部署
ik下载地址:https://github.com/medcl/elasticsearch-analysis-ik
Github加速器:https://github.com/fhefh2015/Fast-GitHub
创建插件文件夹 cd your-es-root/plugins/ && mkdir ik
将插件解压缩到文件夹 your-es-root/plugins/ik
重新启动es
IK文件描述
IKAnalyzer.cfg.xml:IK分词配置文件
主词库:main.dic

英文停用词:stopword.dic,不会建立在倒排索引中
特殊词库:
quantifier.dic:特殊词库:计量单位等
suffix.dic:特殊词库:行政单位
surname.dic:特殊词库:百家姓
preposition:特殊词库:语气词
自定义词库:网络词汇、流行词、自造词等
ik提供的两种analyzer:
ikmaxword会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合,适合 Term Query;
ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”,适合 Phrase 查询。
热更新
远程词库文件
优点:上手简单
缺点:
词库的管理不方便,要操作直接操作磁盘文件,检索页很麻烦
文件的读写没有专门的优化性能不好
多一层接口调用和网络传输
ik访问数据库
MySQL驱动版本兼容性
https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-versions.html
https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-versions.html
驱动下载地址
https://mvnrepository.com/artifact/mysql/mysql-connector-java

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值