今天说一说结巴分词器_分词器原理,希望能够帮助大家进步!!!
IK分词器的使用 首先我们通过Postman发送GET请求查询分词效果 GET http://localhost:9200/_analyze { "text":"农业银行" } 得到如下结果,可以发现...es的默认分词器无法识别中文中农业、银行这样的词汇,而是简单的将每个字拆完分为一个词,这显然不符合我们的使用要求。...3 } ] } 首先我们访问 https://github.com/medcl/elasticsearch-analysis-ik/releases 下载与es对应版本的中文分词器...localhost:9200/_analyze { "analyzer":"ik_max_word", "text":"弗雷尔卓德" } 仅仅可以得到每个字的分词结果,我们需要做的就是使分词器识别到弗雷尔卓德也是一个词语...-- words_location --> 再次查询发现es的分词器可以识别到弗雷尔卓德词汇
https://github.com/medcl/elasticsearch-analysis-ik/releases
什么是IK分词器?...分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词器是将每个字看成一个词,比如"我爱技术"...会被分为"我","爱","技","术",这显然不符合要求,所以我们需要安装中文分词器IK来解决这个问题 IK提供了两个分词算法:ik_smart和ik_max_word 其中ik_smart为最少切分,...这种自己需要的词,需要自己加到字典中 IK分词器增加自己的配置: 我们找到IK的配置文件,位于ik/config/IKAnalyzer.cfg.xml ? ?
elasticsearch分词器 标准分词器 POST _analyze { "text": "java程序员", "analyzer": "standard" } { "tokens" :...start_offset" : 6, "end_offset" : 7, "type" : "", "position" : 3 } ] } ik分词器...start_offset" : 6, "end_offset" : 7, "type" : "CN_CHAR", "position" : 3 } ] } IK分词器扩展.../opt/es/elasticsearch-7.6.1/plugins/elasticsearch-analysis-ik-7.6.1/config/ext.dic 传智播客 白嫖 奥力给 重启 扩展分词器前
ik分词器出现的背景: 分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作, 默认的中文分词是将每个字看成一个词...,比如"中国的花"会被分为"中","国","的","花",这显然是不符合要求的,所以我们需要安装中文分词器ik来解决这个问题。...start_offset" : 4, "end_offset" : 5, "type" : "CN_CHAR", "position" : 4 } ] } ik分词器支持自定义词库
分词介绍 一个 tokenizer(分词器)接收一个字符流,将之分割为独立的 tokens(词元,通常是独立的单词),然后输出 tokens 流。...Elasticsearch 提供了很多内置的分词器,可以用来构建 custom analyzers(自定义分词器)。...为此需要安装中文的分词器。...IK分词器 基本介绍使用 IK 分词器就好解决了这个无问题,GitHub文档:https://github.com/medcl/elasticsearch-analysis-ik K Analyzer是一个开源的...在2012版本中,IK实现了简单的分词歧义排除算法,标志着IK分词器从单纯的词典分词向模拟语义分词衍化。
分词器 作用 分词对象 结果示例 Standard Analyzer 标准分词器,也是默认的分词器,基于Unicode文本分割算法。...,是一种专业分词器,可通过创建指纹来进行重复检测的 - - Custom Analyzer 如果以上没有符合需求的分词器,es也允许通过添加插件的方式添加自定义分词器 - - 注:停用词,英文称为Stop...中文分词器 常用的中文分词器有两个比较主流的:ik analyzer和smartcn(Smart Chinese Analyzer) ik analyzer ik analyzer 是一个基于开源项目IK...Analysis进行开发的第三方的中文分词器。...参考文献 ElasticSearch 中的中文分词器以及索引基本操作详解 【9种】ElasticSearch分词器详解,一文get!!!| 博学谷狂野架构师 ELK(六)分词器
path_hierarchy tokenizer 把分层的值看成是文件路径,用路径分隔符分割文本,输出树上的各个节点。
IK分词器 什么是 IK 分词器 分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词器是将每个字看成一个词...,比如"我爱技术"会被分为"我","爱","技","术",这显然不符合要求,所以我们需要安装中文分词器IK来解决这个问题 IK提供了两个分词算法:ik_smart和ik_max_word 其中ik_smart...这种自己需要的词,需要自己加到字典中 IK分词器增加自己的配置 我们找到IK的配置文件, 位于ik/config/IKAnalyzer.cfg.xml IKAnalyzer.cfg.xml <?
4 IK分词器 4.1 测试分词器 在添加文档时会进行分词,索引中存放的就是一个一个的词(term),当你去搜索时就是拿关键字去匹配词,最终找到词关联的文档。...测试当前索引库使用的分词器: post 发送:localhost:9200/_analyze { "text": "测试分词器,后边是测试内容:spring cloud实战" } 结果如下: ?...会发现分词的效果将 “测试” 这个词拆分成两个单字“测”和“试”,这是因为当前索引库使用的分词器对中文就是单字 分词。 4.2 安装IK分词器 使用IK分词器可以实现对中文分词的效果。...4.3 两种分词模式 ik分词器有两种分词模式:ik_max_word和ik_smart模式。...iK分词器自带一个main.dic的文件,此文件为词库文件。 ?
这是一个基于n-Gram+CRF+HMM的中文分词的java实现。分词速度达到每秒钟大约200万字左右(mac air下测试),准确率能达到96%以上。目前实现...
环境构建到此结束. 2、ik分词器安装部署 下载地址 注意es和ik分词器的版本匹配.这里下载8.2.3的ik分词器 下载完毕之后去es的工作目录的plugins文件夹下新建ik文件夹,将下载下来的ik...压缩包解压缩至ik文件夹下,重启es,集群中所有节点重复此操作. 3、ik 分词器简介 3.1 词库介绍 ik分词器主要有以下词库,位于config目录下 (1)、main.dic 主词库,包含日常生活中常用的词...-- words_location --> 主要用于扩展配置. 3.3 使用方式 ik分词器主要分为...: "CN_CHAR", "position" : 8 } ] } 根据分词结果,很明显ik_max_word分的粒度更加的细和全面,所以一般都是用ik_max_word作为分词器...end_offset" : 3, "type" : "CN_WORD", "position" : 0 } ] } 啊啦搜被作为一个词进行了分词,说明自定义词库生效了. 4、ik 分词器字库远程热更新
IK分词器介绍 在elasticsearch 中查询数据,使用了默认的分词器,分词效果不太理想。...会把字段分成一个一个汉字,搜索时会把搜索到的句子进行分词,非常不智能,所以本次引入更为智能的IK分词器。...IK 分词器下载安装 下载地址 根据es版本选择对应的IK版本,本次使用的6.8.4 IK分析器版本。...IK分词器测试 以”我爱你中国“为例, 默认的分词器会直接分为 "我" "爱" "你" "中" "国" 。 默认分词器 ?...IK分词器 ik_smart算法 ik_smart算法会将"我爱你中国"分为 "我爱你" "中国"。 ?
7、指定IK分词器作为默认分词器 ES的默认分词设置是standard,这个在中文分词时就比较尴尬了,会单字拆分,比如我搜索关键词“清华大学”,这时候会按“清”,“华”,“大”,“学”去分词,然后搜出来的都是些...“清清的河水”,“中华儿女”,“地大物博”,“学而不思则罔”之类的莫名其妙的结果,这里我们就想把这个分词方式修改一下,于是呢,就想到了ik分词器,有两种ik_smart和ik_max_word。
1、规范化 Normalization 规范化,主要实在ES对文本类型进行分词后,按照各自分词器的规范标准,对分词进行二次处理的过程.如was=>is(时态转换),brother‘s=>brother(...,提升搜索效率,不同的分词器其Normalization流程各不相同. 2、ES 字符过滤器&令牌过滤器 3、分词器 tokenizer 官方文档 官方提供了10余种分词器,默认是standard分词器...它是大多数语言的最佳选择) 2.1 常用分词器(随便介绍两种,具体查阅文档) stanard分词器 GET _analyze { "text": "Xiao chao was a good man"...,舍去了was a等和搜索相关度不高的词. 2.3 中文分词器 关于中文分词器参考ES 中文分词器ik 4、自定义分词器 结合上面的内容,来实现一个自定义分词器....关于过滤器相关参考ES 字符过滤器&令牌过滤器,关于分词器相关参考ES 分词器(示例使用了pattern分词器,参考文档) 执行以上代码后,执行搜索如下搜索代码: GET test_index/_analyze
下载 Ik 分词器下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases图片IKAnalyzer 两种分词模式ik_max_word...ik_max_word", "text": "我是aaa啊啊啊唐"}图片POST _analyze{ "analyzer": "ik_max_word", "text": "我是中国人啊了呢"}设置 IK 分词器作为默认分词器
分词器 Analysis 和 Analyzer Analysis:文本分析是把全文本转换一系列单词(term/token)的过程,也叫分词(Analyzer)。...停用词过滤(the,a,is) Whitespace Analyzer - 按照空格切分,不转小写 Keyword Analyzer - 不分词,直接将输入当作输出 内置分词器测试 标准分词器 特点:...} } } } 中文分词器 在ES中支持中文分词器非常多 如 smartCN、IK 等,推荐的就是 IK分词器。...安装IK 开源分词器 Ik 的github:https://github.com/medcl/elasticsearch-analysis-ik 注意 IK分词器的版本要你安装ES的版本一致 注意 Docker...在ik分词器目录下config目录中创建ext_dict.dic文件 编码一定要为UTF-8才能生效 vim ext_dict.dic 加入扩展词即可 3.
中文分词器的使用 ik_max_word:会将文本做最细粒度的拆分 ik_smart:做最粗粒度的拆分 查询 自动映射默认使用的标准的分词器,如果想要使用IK中文分词器,那么需要手动创建映射,如下:..."name":{ "type": "text", "analyzer": "ik_max_word" //使用IK分词器..."address":{ "type": "text", "analyzer": "ik_max_word" //使用IK分词器...name":"张三", "age":22, "date":"2012-11-11 12:00:00", "address":"江苏省淮安市" } 我们可以查看address这个字段使用中文分词器的效果
领取专属 10元无门槛券
手把手带您无忧上云