IK分词器什么是IK分词器?分词:把一段中文或者别的划分成一个一个的关键字,我们在搜索的时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词是将每个字看成一个词,比如"我爱魏一鹤"会被分成"我",“爱”,“魏”,“一”,“鹤”,这显然是不符合要求的,索引我们需要安装中文分词器IK来解决这个问题如果要使用中文,建议使用ik分词器IK提供了两个分词算法,ik_smart和ik_max_world,其中ik_smart为最少切分,ik_max_wold为最细颗粒度划分,一会都会分别来测试下载IK分词器注意ik版本要和es,kibana版本保持统一(
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、IK分词器的安装配置1.克隆elasticsearch-analysis-ik2.编译并安装分词器插件3.自定义分词词典4.注意事项二、ES数据迁移1.建立新的索引2.将旧索引数据导入新索引前言本文介绍IKAnalyzer分词器的安装配置、使用以及ES数据迁移。一、IK分词器的安装配置1.克隆elasticsearch-analysis-ik克隆IK分词器项目,根据README的描述选择对应版本的分支。浏览器访问ES的ip+端口就能看到版本信息,所以我需要切到master分支。打开pom需要调整一些依赖的版本,与你
下载elasticsearchik中文分词器,在elasticsearch安装目录下的plugins文件夹下创建名为ik的文件夹,将下载的ik中文分词器解压缩到新建的ik文件夹下,再次运行./bin/elasticsearch启动ES服务时出现以下错误:Exceptioninthread"main"java.nio.file.NotDirectoryException:/Users/amelia/work/elasticsearch-7.15.2/plugins/.DS_Store atjava.base/sun.nio.fs.UnixFileSystemProvider.newDirecto
启动失败后从es的日志文件中可以看到以下关键字。Plugin[analysis-ik]wasbuiltforElasticsearchversion8.2.3butversion7.4.0解决办法:修改plugin-descriptor.properties文件中elasticsearch.version=你的ES版本号然后重启启动elasticsearch就可以了elasticsearch.version=你的ES版本号
使用KIbana测试IK分词器打开开发工具台ik_smart最少分词器分词结果比较少GET_analyze{"analyzer":"ik_smart","text":"中国共产党"}ik_max_word颗粒度最细分词器分词结果比较多,组成各种结果,穷尽词库的可能!GET_analyze{"analyzer":"ik_max_word","text":"中国共产党"}再看个例子,把我们的句子换成超级喜欢魏一鹤学习Java首先看最少分词然后是最细颗粒度分词问题来了我们输入超级喜欢魏一鹤学习Java,发现魏一鹤被拆开了,这种需要自己加入到分词器字典中的词如何处理呢?IK分词器自定义词汇找到并且打开
目录1、IK分词器下载2、下载完毕后解压,放入到elasticsearch的plugins下即可 3、重启elasticsearch,可以看到ik分词器被加载了 4、也可以通过elasticsearch-plugin这个命令来查看加载进来的插件 5、使用kibana测试ik分词器6、扩展配置ik分词器词典6.1、进入到ik分词器的配置文件夹config下6.2、在当前目录下新建一个词典,my.dic(以.dic结尾,命名自己定义)6.3、打开IKAnalyzer.cfg.xml文件(ik分词器的配置文件)6.4、重启elasticsearch即可把自定义的词典加载进来6.5、重新使用kiban
提示:运行容器命令推荐使用单机多节点的命令执行,所需配置文件要提前准备1、拉取镜像dockerpullelasticsearch:7.13.42、创建挂载目录mkdir-p/docker/elasticsearch/{config,data,plugins,logs}3、需要准备elasticsearch.yml文件(下面是要修改该的内容)(这个配置为单机多节点配置,但是具体的配置不全,但可以使用,下面运行容器使用单机多节点命令)node.name:lingyunnetwork.host:0.0.0.0http.port:9200cluster.initial_master_nodes:["l
springboot集成elasticsearch启动服务端后,访问出现如下报错:org.elasticsearch.index.mapper.MapperParsingException:analyzer[ik_smart]notfoundforfield[name] atorg.elasticsearch.index.mapper.TypeParsers.parseAnalyzersAndTermVectors(TypeParsers.java:111)~[elasticsearch-6.4.3.jar:6.4.3] atorg.elasticsearch.index.mapper.Typ
@ES日志中报错plugin-descriptor.propertiesNoSuchFileException报错问题找不到这个文件plugin-descriptor.properties。`报错原因如下图所示,下载的zip文件解压之后的情况,这里是不能放到elasticsearch的plugins中的。分析:由于是java开发的分词器,这里很明显是maven项目的目录结构。所以要执行打包命令,生成对应的发布的包解决方法在你ES中存放中文分词器的ik目录下执行mvncleaninstall命令,完成后在你target目录下的release中会有以下包,这些才是我们所需要的,用这些去替换ik中的
1.拉取镜像dockerpullelasticsearch:7.6.22.创建挂载目录 注意: 要开启权限chmod-R777文件路径mkdir-p/www/docker/elasticsearch/configmkdir-p/www/docker/elasticsearch/data/mkdir-p/www/docker/elasticsearch/pluginsecho"http.host:0.0.0.0">>/www/docker/elasticsearch/config/elasticsearch.yml3.运行镜像,映射端口9200,9300dockerrun--nameelasti