elasticsearch 安装 IK 中文分词器,命令行窗口执行安装分词器错误
错误记录
错误截图
在命令行窗口,执行如下命令安装 IK 中文分词器 失败。
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/^
releases/download/v7.14.1/elasticsearch-analysis-ik-7.14.1.zip
错误日志
C:\Users\JH> elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/^
More? releases/download/v7.14.1/elasticsearch-analysis-ik-7.14.1.zip
-> Installing https://github.com/medcl/elasticsearch-analysis-ik/
-> Downloading https://github.com/medcl/elasticsearch-analysis-ik/
-> Failed installing https://github.com/medcl/elasticsearch-analysis-ik/
-> Rolling back https://github.com/medcl/elasticsearch-analysis-ik/
-> Rolled back https://github.com/medcl/elasticsearch-analysis-ik/
Exception in thread "main" java.nio.file.NoSuchFileException: E:\install\Elasticsearch\elasticsearch-7.14.1\plugins\.installing-3880239359474571643\plugin-descriptor.properties
at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:235)
at java.base/java.nio.file.Files.newByteChannel(Files.java:371)
at java.base/java.nio.file.Files.newByteChannel(Files.java:422)
at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:420)
at java.base/java.nio.file.Files.newInputStream(Files.java:156)
at org.elasticsearch.plugins.PluginInfo.readFromProperties(PluginInfo.java:173)
at org.elasticsearch.plugins.InstallPluginCommand.loadPluginInfo(InstallPluginCommand.java:787)
at org.elasticsearch.plugins.InstallPluginCommand.installPlugin(InstallPluginCommand.java:846)
at org.elasticsearch.plugins.InstallPluginCommand.execute(InstallPluginCommand.java:246)
at org.elasticsearch.plugins.InstallPluginCommand.execute(InstallPluginCommand.java:216)
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:75)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:116)
at org.elasticsearch.cli.MultiCommand.execute(MultiCommand.java:80)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:116)
at org.elasticsearch.cli.Command.main(Command.java:79)
at org.elasticsearch.plugins.PluginCli.main(PluginCli.java:36)
解决方案
1、自己到github下载对应版本的ik中文分词器
上面命令中两个插件版本号应该和 Elasticsearch 的版本保持一致,我现在用的是 7.14.1 版本。
首先版本和命令是对得上的。
命令行窗口通过命令下载失败的话,我就自己到 github 上面下载。
进入这个页面,点击选择版本后进行下载
https://github.com/medcl/elasticsearch-analysis-ik
如图,我自己的 elasticsearch 是7.14.1 版本
通过 postman 发送 : https://localhost:9200 命令 也可以查看自己的elasticsearch的版本
然后下载
https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.14.1
2、解压到 …\plugins\ik 文件夹里面
下载完成后,我在 E:\install\Elasticsearch\elasticsearch-7.14.1\plugins\ik 这个 plugins 目录下,创建了一个 ik 文件夹,把分词器压缩包解压到里面。
因为此前安装的elasticsearch,在plugins文件夹里面,什么东西都没有。
3、重启elasticsearch失败
然后重启 elasticsearch 服务器,报错了
C:\Users\JH>elasticsearch
Exception in thread "main" java.nio.file.NotDirectoryException: E:\install\Elasticsearch\elasticsearch-7.14.1\plugins\elasticsearch-7.14.1-windows-x86_64.zip
at java.base/sun.nio.fs.WindowsDirectoryStream.<init>(WindowsDirectoryStream.java:84)
at java.base/sun.nio.fs.WindowsFileSystemProvider.newDirectoryStream(WindowsFileSystemProvider.java:523)
at java.base/java.nio.file.Files.newDirectoryStream(Files.java:472)
at java.base/java.nio.file.Files.list(Files.java:3699)
at org.elasticsearch.tools.launchers.BootstrapJvmOptions.getPluginInfo(BootstrapJvmOptions.java:49)
at org.elasticsearch.tools.launchers.BootstrapJvmOptions.bootstrapJvmOptions(BootstrapJvmOptions.java:34)
at org.elasticsearch.tools.launchers.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:137)
at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:86)
4、删除压缩包,重启成功
重启错误提示没有elasticsearch-7.14.1-windows-x86_64.zip这个目录结构,所以我解压完之后就把压缩包给删除了。
再重启就成功了。
至此,IK 中文分词器插件弄好了,接下来就是测试了。
测试包括:通过指定分词器来创建index索引库,并测试分词器是否生效
这篇是我测试IK中文分词器写的文章:
测试 IK 中文分词器(用指定分词器创建 index 索引库,并通过命令和postman工具测试分词器)文章来源:https://www.toymoban.com/news/detail-847510.html
文章来源地址https://www.toymoban.com/news/detail-847510.html
到了这里,关于elasticsearch 安装 IK 中文分词器插件提示找不到文件的异常(Exception in thread “main“ java.nio.file.NoSuchFileException)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!