前面我们介绍了Centos安装elasticsearch 6.4.2 教程,elasticsearch内置的分词器对中文不友好,只会一个字一个字的分,无法形成词语,别急,已经有大拿把中文分词器做好了,elasticsearch配套的ik-analyzer,我们一起来看看如何安装吧. 我们到ik-analyzer中文分词器开源项目查找与elasticsearch对应的v6.4.2版本(有的是6.0.0版https://github.com/medcl/elasticsearch-analysis-…
正向索引的结构如下: “文档1”的ID > 单词1:出现次数,出现位置列表:单词2:出现次数,出现位置列表:…………. “文档2”的ID > 此文档出现的关键词列表. 一般是通过key,去找value.  当用户在主页上搜索关键词“华为手机”时,假设只存在正向索引(forward index),那么就需要扫描索引库中的所有文档,找出所有包含关键词“华为手机”的文档,再根据打分模型进行打分,排出名次后呈现给用户.因为互联网上收录在搜索引擎中的文档的数目是个天文数字,这样的索引结构根本无法满足实时…
版权声明:本文为博主原创文章,转载请注明本文地址.http://www.cnblogs.com/o0Iris0o/p/5813856.html 内容介绍: 真分布式SolrCloud+Zookeeper+tomcat搭建.索引Mysql数据库.IK中文分词器配置以及web项目中solr的应用(1)[本文内容] 1.搭建单机solr 2.搭建zookeeper 3.配置solrcloud 真分布式SolrCloud+Zookeeper+tomcat搭建.索引Mysql数据库.IK中文分词器配置以及…
删除索引(文档) 需求 某些图书不再出版销售了,我们需要从索引库中移除该图书. 1 @Test 2 public void deleteIndex() throws Exception { 3 // 1.指定索引库目录 4 Directory directory = FSDirectory.open(new File("F:\\lucene\\0719")); 5 // 2.创建IndexWriterConfig 6 IndexWriterConfig cfg = new IndexW…
Elasticsearch(10) --- 内置分词器.中文分词器 这篇博客主要讲:分词器概念.ES内置分词器.ES中文分词器. 一.分词器概念 1.Analysis 和 Analyzer Analysis: 文本分析是把全文本转换一系列单词(term/token)的过程,也叫分词.Analysis是通过Analyzer来实现的. 当一个文档被索引时,每个Field都可能会创建一个倒排索引(Mapping可以设置不索引该Field). 倒排索引的过程就是将文档通过Analyzer分成一个一个的T…
前言 前面的案例使用standard.english分词器,是英文原生的分词器,对中文分词支持不太好.中文作为全球最优美.最复杂的语言,目前中文分词器较多,ik-analyzer.结巴中文分词.THULAC.NLPIR和阿里的aliws都是非常优秀的,我们以ik-analyzer作为讲解的重点,其它分词器可以举一反三. 概要 本篇主要介绍中文分词器ik-analyzer的安装使用.自定义词库以及热更新方案. 分词器插件安装 我们Elasticsearch 6.3.1版本为例,集成IK分词器,其他…
沉淀再出发:ElasticSearch的中文分词器ik 一.前言   为什么要在elasticsearch中要使用ik这样的中文分词呢,那是因为es提供的分词是英文分词,对于中文的分词就做的非常不好了,因此我们需要一个中文分词器来用于搜索和使用. 二.IK分词器的安装和使用   2.1.安装ik    我们可以从官方github上下载该插件,我们下载对应于我们使用的es的版本的ik,并且我们能够看到具体的安装步骤,可以有两种安装方法.      这里我们选择第一种方式:    重启es,我们就可…
一:IK分词器简介  IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包.从2006年12月推出1.0版开始, IKAnalyzer已经推出了4个大版本.最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词组件.从3.0版本开 始,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现.在2012版本中,IK实现了简单的分词 歧义排除算法,标志着IK分词器从单纯的词典分词向模拟语义分词衍化.…
1.安装中文分词器IK 下载地址:https://github.com/medcl/elasticsearch-analysis-ik 在线下载安装: elasticsearch-plugin.bat install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.2/elasticsearch-analysis-ik-5.5.2.zip 先下载后安装:elasticsearch-plugin.b…
1.安装IK分词器,下载对应版本的插件,elasticsearch-analysis-ik中文分词器的开发者一直进行维护的,对应着elasticsearch的版本,所以选择好自己的版本即可.IKAnalyzer中文分词器原作者已经不进行维护了,但是Lucece在不断更新,所以使用Lucece和IKAnalyzer中文分词器集成,需要你进行修改IKAnalyzer中文分词器. 下载地址:https://github.com/medcl/elasticsearch-analysis-ik/relea…
一.前言   为什么要在elasticsearch中要使用ik这样的中文分词呢,那是因为es提供的分词是英文分词,对于中文的分词就做的非常不好了,因此我们需要一个中文分词器来用于搜索和使用. 二.IK分词器的安装和使用 2.1.安装ik    我们可以从官方github上下载该插件,我们下载对应于我们使用的es的版本的ik,并且我们能够看到具体的安装步骤,可以有两种安装方法.      这里我们选择第一种方式:    重启es,我们就可以使用ik这个中文分词器了. 2.2.使用ik中文分词器  …
HanLP 中文分词器是一个开源的分词器,是专为Elasticsearch而设计的.它是基于HanLP,并提供了HanLP中大部分的分词方式.它的源码位于: https://github.com/KennFalcon/elasticsearch-analysis-hanl 从Elasticsearch 5.2.2开始,一直有跟随Elasticsearch的不同发行版而更新. 安装 1) 方式一: a. 下载对应的release安装包,最新release包可从baidu盘下载(链接:https:/…
前提 什么是倒排索引? Elasticsearch之分词器的作用 Elasticsearch之分词器的工作流程 Elasticsearch之停用词 Elasticsearch之中文分词器 Elasticsearch之几个重要的分词器 elasticsearch官方默认的分词插件 1.elasticsearch官方默认的分词插件,对中文分词效果不理想. 比如,我现在,拿个具体实例来展现下,验证为什么,es官网提供的分词插件对中文分词而言,效果差. [hadoop@HadoopMaster elas…
前提 什么是倒排索引? Elasticsearch之分词器的作用 Elasticsearch之分词器的工作流程 Elasticsearch之停用词 Elasticsearch的中文分词器 1.单字分词: 如:“我们是中国人” 效果:“我”“们”“是”“中”“国”“人” 2.二分法分词:按两个字进行切分. 如:“我们是中国人”,效果:“我们”.“们是”.“是中”.“中国”.“国人”. 3.词库分词:按某种算法构造词,然后去匹配已建好的词库集合,如果匹配到就切分出来成为词语.通常词库分词被认为是最理…
概述   本文都是基于elasticsearch安装教程 中的elasticsearch安装目录(/opt/environment/elasticsearch-6.4.0)为范例 环境准备 ·全新最小化安装的centos 7.5 ·elasticsearch 6.4.0 认识中文分词器 在博文elasticsearch分词器中提到elasticsearch能够快速的通过搜索词检索出对应的文章归功于倒排索引,下面通过中文举例看看倒排索引. 中文分词器作用以及效果 中文分词器是做什么的呢? what…
# ElasticSearch安装中文分词器IKAnalyzer  本篇主要讲解如何在ElasticSearch中安装中文分词器IKAnalyzer,拆分的每个词都是我们熟知的词语,从而建立词汇与文档关系的倒排索引, 但是如果不使用中文分词,就会把文档每个字拆分成了一个词,对我们中文检索很不友好,本博客系统就是在ElasticSearch中安装了IKAnalyzer分词器从而实现首页的搜索功能,下面开始讲解吧! ###  1.在线安装  由于我的ElasticSearch 是安装在Docker中…
声明:我使用的Elasticsearch的版本是5.4.0,安装分词器前请先安装maven 一:安装maven https://github.com/apache/maven 说明: 安装maven需要java1.7+ 编译安装分词器时,可能会报错,报错信息如下: [ERROR] COMPILATION ERROR : [INFO] -------------------------------------------------------------[ERROR] No compiler i…
中文分词器 在lunix下执行下列命令,可以看到本来应该按照中文"北京大学"来查询结果es将其分拆为"北","京","大","学"四个汉字,这显然不符合我的预期.这是因为Es默认的是英文分词器我需要为其配置中文分词器. curlHTTP://192.168.79.131:9200/shb01/_analyze?pretty=true -d'{"text":"北京大学"…
安装Elasticsearch安装中文分词器IK的步骤: 1. 停止elasticsearch 2.2的服务 2. 在以下地址下载对应的elasticsearch-analysis-ik插件安装包(版本要和elasticsearch版本对应). https://github.com/medcl/elasticsearch-analysis-ik/releases 我这里下载的是: https://github.com/medcl/elasticsearch-analysis-ik/release…
Elasticsearch之中文分词器插件es-ik 针对一些特殊的词语在分词的时候也需要能够识别 有人会问,那么,例如: 如果我想根据自己的本家姓氏来查询,如zhouls,姓氏“周”.      如果我想根据自己的公司名称来查询,如“好记性不如烂笔头感叹号博客园” 如果我想根据自己公司里的产品名称来查询,如“” 如果我想根据某个网络上流行的词名称来查询,如“扫福” 那么,若直接使用es-ik则分不出来的,所以,这就是为什么需要es-ik的自定义词库的缘由啦! [hadoop@HadoopMas…
中文分词器 在lunix下执行下列命令,可以看到本来应该按照中文”北京大学”来查询结果es将其分拆为”北”,”京”,”大”,”学”四个汉字,这显然不符合我的预期.这是因为Es默认的是英文分词器我需要为其配置中文分词器. curlHTTP://192.168.79.131:9200/shb01/_analyze?pretty=true -d'{"text":"北京大学"}' Es整合ik不直接用ik官网的工具包,需要将ik工具包封装成es插件才行,这个已经有人封装好了…
特殊说明:灰色文字用来辅助理解的. 安装IK中文分词器 我在百度上搜索了下,大多介绍的都是用maven打包下载下来的源码,这种方法也行,但是不够方便,为什么这么说? 首先需要安装maven吧?其次需要下载源码吧?最后需要打包吧? 我直接下载打包好的多方便? 1.下载打包好的压缩包 我们需要下载打包好的压缩包,而不是下载需要再用maven打包的源码.举例说明,最新版本是v5.5.1. 下载地址:https://github.com/medcl/elasticsearch-analysis-ik/r…
前面已经对”IK中文分词器“有了简单的了解:  但是可以发现不是对所有的词都能很好的区分,比如:  逼格这个词就没有分出来. 词库 实际上IK分词器也是根据一些词库来进行分词的,我们可以丰富这个词库. IK分词器(IK Analysis for Elasticsearch)给了我们一个基本的配置: https://github.com/medcl/elasticsearch-analysis-ik  修改我们es实例中ik插件的配置: cd elasticsearch-5.3.0/plugins…
近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.ElasticSearch搜索引擎安装配置中文分词器IK插件 4.ElasticSearch搜索引擎安装配置拼音插件pinyin 5.ElasticSearch搜索引擎在JavaWeb项目中的应用 一.IK简介 ElasticSearch(以下简称ES)默认的分词器是标准分词器Standard,如果直接使…
不多说,直接上干货! 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑         Java全栈大联盟        每天都有大量的学习视频资料和精彩技术文章推送... 人生不易,唯有努力.        百家号 :九月哥快讯               快手号:  jiuyuege           前提 Elasticsearch之中文分词器插件es-ik的自定义词库 先声明,热更新词库,需要用到,web…
原文:http://blog.java1234.com/blog/articles/373.html elasticsearch安装中文分词器插件smartcn elasticsearch默认分词器比较坑,中文的话,直接分词成单个汉字. 我们这里来介绍下smartcn插件,这个是官方推荐的,中科院搞的,基本能满足需求: 还有另外一个IK分词器.假如需要自定义词库的话,那就去搞下IK,主页地址:https://github.com/medcl/elasticsearch-analysis-ik s…
elasticsearch使用ik中文分词器 一.背景 二.安装 ik 分词器 1.从 github 上找到和本次 es 版本匹配上的 分词器 2.使用 es 自带的插件管理 elasticsearch-plugin 来进行安装 3.重启es 三.测试 ik 分词 1.测试默认的分词效果 2.测试 ik_max_word 的分词效果 3.测试 ik_smart 的分词效果 4.自定义 ik 的启用词和停用词 1.找到 ik 的配置目录 2.修改 IKAnalyzer.cfg.xml 文件 3.c…
Elasticsearch内置的分词器对中文不友好,只会一个字一个字的分,无法形成词语,比如: POST /_analyze { "text": "我爱北京天安门", "analyzer": "standard" } 如果我们使用的是standard的分词器,那么结果就是: { "tokens" : [ { "token" : "我", "start_off…
1.区别 搜索的时候,要依靠倒排索引:排序的时候,需要依靠正排索引,看到每个document的每个field,然后进行排序,所谓的正排索引,其实就是doc values 在建立索引的时候,一方面会建立倒排索引,以供搜索用:一方面会建立正排索引,也就是doc values,以供排序,聚合,过滤等操作使用 doc values是被保存在磁盘上的,此时如果内存足够,os会自动将其缓存在内存中,性能还是会很高:如果内存不足够,os会将其写入磁盘上 下面两条document doc1: hello wor…
如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题--中文词语被分成了一个一个的汉字,当用Kibana作图的时候,按照term来分组,结果一个汉字被分成了一组. 这是因为使用了Elasticsearch中默认的标准分词器,这个分词器在处理中文的时候会把中文单词切分成一个一个的汉字,因此引入中文的分词器就能解决这个问题. 本篇文章按照下面的内容进行描述: 分词器的作用 安装IK 简单的测试 模拟测试 安装elasticsearch-analysis-piny…