首页 > 其他分享 >ES分词器

ES分词器

时间:2024-04-08 22:57:28浏览次数:24  
标签:词库 dic filter ik 分词器 com ES

1 normalization:文档规范化,提高召回率

2 字符过滤器(character filter):分词之前的预处理,过滤无用字符

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分词

  1. 安装和部署

  2. IK文件描述

    • IKAnalyzer.cfg.xml:IK分词配置文件
  • 主词库:main.dic
    • 英文停用词:stopword.dic,不会建立在倒排索引中
    • 特殊词库:
      • quantifier.dic:特殊词库:计量单位等
      • suffix.dic:特殊词库:行政单位
      • surname.dic:特殊词库:百家姓
      • preposition:特殊词库:语气词
    • 自定义词库:网络词汇、流行词、自造词等
  1. ik提供的两种analyzer:

    1. ik_max_word会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合,适合 Term Query;
    2. ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”,适合 Phrase 查询。
  2. 热更新

    1. 远程词库文件
      1. 优点:上手简单
      2. 缺点:
        1. 词库的管理不方便,要操作直接操作磁盘文件,检索页很麻烦
        2. 文件的读写没有专门的优化性能不好
        3. 多一层接口调用和网络传输
    2. ik访问数据库
      1. MySQL驱动版本兼容性
        1. https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-versions.html
        2. https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-versions.html
      2. 驱动下载地址
        1. https://mvnrepository.com/artifact/mysql/mysql-connector-java

标签:词库,dic,filter,ik,分词器,com,ES
From: https://www.cnblogs.com/xu-xiaofeng/p/18122853

相关文章

  • mvn test -Dtest 运行结果中文乱码
    问题:mvntest-Dtest运行结果中文乱码 解决方法:maven-complier-plugin中添加encoding设置 效果: ......
  • ES入门十二:相关性评分
    对于一个搜索引擎来说,对检索出来的数据进行排序是非常重要的功能。全文本数据的检索通常无法用是否相等来的出结果,而是用相关性来决定最后的返回结果相关性是值搜索内容和结果的相关性,是用来描述文档和查询语句的匹配程度的。通过计算相关性,可以得出一个相关性评分,然后根据......
  • 【简单讲解下PHP AES加解密示例】
    ......
  • AtCoder Beginner Contest 348
    地址。赛时情况A、B题都很显然,C题大概推了好一会儿,最后还是做出来了。D题感觉十分难做,估计很难写,看了E。感觉还是不会,听说是原题,搜了一下,发现是树的重心,我还不会。直接贺题解,发现不对。修改了一下还是不对,最后发现INF取小了,过了。后面的不看了。赛后总结还行,跳过D......
  • 在python爬虫中如何处理cookie和session
    使用python开发爬虫的过程中,遇到需要登录鉴权的一些页面,必不可少的会接触到cookie和session的使用。本文结合自己最近一次爬虫爬坑的经历,介绍在python爬虫中如何使用Cookie和SessionCookie和Session的介绍CookieCookie是一种用于跟踪用户会话信息的小型文本文件。它由......
  • 使用腾讯云Kubernetes部署SpringBoot项目
    使用流程创建集群创建Serverless类型的kubernetes集群(更加简单),不需要集群管理费用,但创建容器还是收费的。创建容器要确保当前账号有充足的余额在创建过程中,主要选择镜像,可以从自己的镜像仓库(需要先将自己的SpringBoot项目创建docker镜像并推送到远程仓库),或者Docker公共......
  • Django框架之Cookie和Session
    一、cookie与session的发展史Cookie和Session是Web开发中常用的两种机制,用于在客户端和服务器之间存储和管理用户信息。1、Cookie的发展史:1994年:由Netscape公司的工程师LouMontulli发明。最初的目的是为了解决HTTP协议的状态管理问题,使网站能够在浏览器端存储和读取用户信息......
  • 【计算机控制网络 Computer Control Network】组网设计作业 Enterprise Network Desig
    一、说明1、仅为本人的作答,非标准答案;2、题目版权归校方和教授所有。二、题目描述p1:p2:三、完整作答p1:p2:p3:p4:p5:p6:p7:p8:p9:p10:p11:p12:p13:p14:p15:p16:p17:p18:p19:......
  • esp32-C3
    一、esp端        ESP32由EspressifSystems打造,是一款低成本、低功耗的系统具有Wi-Fi和双模蓝牙功能的片上(SoC)系列!ESP32系列包括芯片 ESP32-D0WDQ6(和ESP32-D0WD), ESP32-D2WD 电子版, ESP32-S0WD系列,以及系统级封装(SiP)ESP32-PICO-D4。它的核心是双核或单......
  • sudo fdisk -l命令出现警告:Partition 1 does not start on physical sector boundary
    出现这个警告的原因是分区起点不在物理扇区边界。用我们的常用的说法就是存在分区未4K对齐,下面浅浅解释一下:早期的硬盘一个扇区的大小是512个字节,后来随之磁盘容量的不断增加和读写效率提升的要求,国际硬盘协会制定了全新标准,将每个扇区的大小调整为4096个字节,也就是4KB,这种扇区又......