1. 安裝ik分詞器(本人下載的是第三個.tar.gz的原始碼包)
下載地址:https://github.com/medcl/elasticsearch-analysis-ik/
2. 安裝報錯
下載對應版本的ik分詞器(java專案),將ik分詞器放在es/plugins目錄下,重啟es導致報錯
java.lang.IllegalStateException: Could not load plugin descriptor for plugin directory [ik]
Likely root cause: java.nio.file.NoSuchFileException: /usr/local/es/plugins/ik/plugin-descriptor.properties
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:219)
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:156)
at org.elasticsearch.plugins.PluginsService.readPluginBundle(PluginsService.java:404)
at org.elasticsearch.plugins.PluginsService.findBundles(PluginsService.java:392)
at org.elasticsearch.plugins.PluginsService.getPluginBundles(PluginsService.java:385)
at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:156)
at org.elasticsearch.node.Node.<init>(Node.java:346)
at org.elasticsearch.node.Node.<init>(Node.java:289)
at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:227)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:227)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:393)
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170)
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:161)
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:127)
at org.elasticsearch.cli.Command.main(Command.java:90)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:126)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92)
For complete error details, refer to the log at /usr/local/es/logs/my-application.log
3. 解決方案
查閱官方檔案內容可以知道
git clone https://github.com/medcl/elasticsearch-analysis-ik
cd elasticsearch-analysis-ik
git checkout tags/{version}
mvn clean
mvn compile
mvn package拷貝和解壓release下的檔案: #{project_path}/elasticsearch-analysis-ik/target/releases/elasticsearch-analysis-ik-*.zip 到你的 elasticsearch 插件目錄, 如: plugins/ik 重啟elasticsearch
所以需要我們把專案克隆到idea里面,然后用上面三個命令打包,然后在target/releases/目錄下找到.zip檔案;
4. windows系統直接解壓縮就好了,macos可以用The Uncharvier解壓縮,很方便!最后可以利用一個很高效的linux連接工具,把檔案傳輸自定義的es目錄下的plugins目錄下即可!最后重啟,后面又報下面的錯誤
5. 報錯資訊: failed to load plugins analysis-ik due to jar hell

6. 最后發現問題在于我下載的它的原始碼包是.tar.gz結尾的;

而實際應該下載.zip的包就可以了

7. 最后將.zip的包下載下來,解壓縮,把壓縮包放進es/plugins/目錄下,重啟es就解決了!(程序曲折,親測有效)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/438660.html
標籤:其他
