ruby-on-rails - 创建索引时的 Elasticsearch 错误可能是由于模块 Kuromoji 未正确安装

标签 ruby-on-rails elasticsearch elasticsearch-plugin kuromoji smartcn

我正在尝试为我刚刚获得访问权限的 Rails 应用程序设置本地环境,该应用程序使用 Elasticsearch 1.3 以及两个模块(kuromoji 和 smartcn)

我已按照说明将 Elasticsearch 与模块一起安装,当我启动 elasticsearch 时,我得到以下输出:(请注意 plugins 行,这让我相信它们已被加载)

$ elasticsearch
[2015-07-10 09:56:05,887][INFO ][node                     ] [Rune] version[1.3.9], pid[4364], build[0915c73/2015-02-19T12:34:48Z]
[2015-07-10 09:56:05,887][INFO ][node                     ] [Rune] initializing ...
[2015-07-10 09:56:05,930][INFO ][plugins                  ] [Rune] loaded [analysis-smartcn, analysis-kuromoji], sites []
[2015-07-10 09:56:08,469][INFO ][node                     ] [Rune] initialized
[2015-07-10 09:56:08,469][INFO ][node                     ] [Rune] starting ...
[2015-07-10 09:56:08,577][INFO ][transport                ] [Rune] bound_address {inet[/127.0.0.1:9301]}, publish_address {inet[/127.0.0.1:9301]}
[2015-07-10 09:56:08,596][INFO ][discovery                ] [Rune] elasticsearch_brew/X-HUXjxxT6CtRblL2zANSg
[2015-07-10 09:56:11,611][INFO ][cluster.service          ] [Rune] new_master [Rune][X-HUXjxxT6CtRblL2zANSg][boobooninja.local][inet[/127.0.0.1:9301]], reason: zen-disco-join (elected_as_master)
[2015-07-10 09:56:11,633][INFO ][http                     ] [Rune] bound_address {inet[/127.0.0.1:9201]}, publish_address {inet[/127.0.0.1:9201]}
[2015-07-10 09:56:11,634][INFO ][node                     ] [Rune] started
[2015-07-10 09:56:11,647][INFO ][gateway                  ] [Rune] recovered [0] indices into cluster_state

但是,当我尝试运行 rake 任务来索引和导入数据时,我收到以下错误,这让我相信 Kuromoji 没有加载或者可能发生了其他事情。
[!!!] Error when creating the index: Elasticsearch::Transport::Transport::Errors::BadRequest
[400] {"error":"IndexCreationException[[development-activities] failed to create index]; nested: ElasticsearchIllegalArgumentException[failed to find token filter type [kuromoji_readingform] for [katakana_readingform]]; nested: NoClassSettingsException[Failed to load class setting [type] with value [kuromoji_readingform]]; nested: ClassNotFoundException[org.elasticsearch.index.analysis.kuromojireadingform.KuromojiReadingformTokenFilterFactory]; ","status":400}
[IMPORT] Done

感谢您在此处确定问题的任何帮助。

最佳答案

该消息似乎与 kuromoji 插件有关。尝试安装插件。

cd path/to/yourelasticsearch
bin/plugin install elasticsearch/elasticsearch-analysis-kuromoji/2.7.0

请注意,您需要安装正确版本的 kuromoji 插件,具体取决于您安装的 elasticsearch 版本。见 here .

关于ruby-on-rails - 创建索引时的 Elasticsearch 错误可能是由于模块 Kuromoji 未正确安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31331448/

相关文章:

elasticsearch - Elastalert 默认安装位置

hadoop - 文档中的Elastic Search更新字段

javascript - 刷新后才显示 Facebook 分享按钮

ruby-on-rails - 在 rails 中使用 postgres 查询检查空字段或空字段

elasticsearch - 如何调试旧的Elastic Search网站插件(arrayformat)?

elasticsearch - Kibana 4.0 更改默认时间过滤器

apache-spark - pyspark将数据写入elasticsearch时将日期类型保存为长类型

ruby-on-rails - 强制所有收到的请求 Content-Type 为 JSON

ruby-on-rails - 如何在 Rails 中实现 "short"嵌套的虚荣网址?

asp.net-web-api - Serilog ElasticSearch接收器在WebApi中不起作用