1

我正在尝试为我刚刚获得访问权限的 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

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

4

1 回答 1

0

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

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

请注意,您需要安装适当版本的 kuromoji 插件,具体取决于您安装的 elasticsearch 版本。见这里

于 2016-03-27T06:27:24.803 回答