【问题标题】:Hunspell for Elasticsearch用于 Elasticsearch 的 Hunspell
【发布时间】:2018-03-30 18:44:19
【问题描述】:
我正在尝试在 ES 2.3、Ubuntu 16.4 上安装 Hunspell。
从http://download.services.openoffice.org/contrib/dictionaries/ 下载的zip,解压到ES 根/etc/elasticsearch。字典位置/etc/elasticsearch/config/hunspell/cs_CZ/cs_CZ.(dic|aff)。
将新行indices.analysis.hunspell.dictionary.location: /etc/elasticsearch 添加到/etc/elasticsearch/elasticsearch.yml,但是
elasticsearch重启后仍然报错:
Guice 异常:java.lang.IllegalArgumentException:请把你的 hunspell 字典放在 config/hunspell 下!
【问题讨论】:
标签:
elasticsearch
hunspell
【解决方案1】:
我相信你现在已经明白了,但这里有另一种安装 Hunspell 的方法
如果您使用压缩版本(未 dockerized),只需将 Hunspell 文件夹放到 config/ 下并重新启动服务
-
如果您使用的是 dockerized 容器并且您没有更改 config 文件夹的默认位置 (/etc/elasticsearch),那么只需将 Hunspell 放到 /etc/elasticsearch。如果您以某个用户(UID/GID)的身份运行,那么不要忘记拥有该文件夹。在 Dockerfile 中如下所示:
COPY config /etc/elasticsearch/
RUN set -ex \
&& for path in \
/etc/elasticsearch/ \
; do \
mkdir -p "$path"; \
chown -R elasticsearch:elasticsearch "$path"; \
done
【解决方案2】:
您必须将您的 hunspell 字典放在 elasticsearch.yml 中的 config/hunspell 下,因为 错误意味着。