AWS Elasticsearch 6.2 Kurumoji插件是否支持用户词典及文件放置咨询
AWS Elasticsearch 6.2 Kurumoji 用户词典支持及配置方法
是的,AWS Elasticsearch Service 6.2版本的Kurumoji插件完全支持自定义user_dictionary——这个功能是Kurumoji原生自带的,AWS托管版本并未移除该特性。不过因为AWS ES是托管服务,你没法直接访问服务器的文件系统,所以配置方式和自建ES略有不同,具体细节如下:
1. 词典格式要求
你的user_dictionary文件需要是UTF-8编码的文本文件,每行定义一个自定义词条,格式为:
[词条],[读音],[词性]
举个例子:
東京スカイツリー,トウキョウスカイツリー,カスタム名詞 マインクラフト,マインクラフト,カスタム名詞
2. 配置自定义词典的方式
由于无法直接把文件放到ES服务器的本地目录,推荐用内联配置的方式,在创建或更新索引的分析器设置时直接嵌入词典内容:
示例:创建带自定义词典的Kurumoji分析器
PUT /your_index_name { "settings": { "analysis": { "analyzer": { "custom_kurumoji_analyzer": { "tokenizer": "custom_kurumoji_tokenizer" } }, "tokenizer": { "custom_kurumoji_tokenizer": { "type": "kurumoji_tokenizer", "user_dictionary": "東京スカイツリー,トウキョウスカイツリー,カスタム名詞\nマインクラフト,マインクラフト,カスタム名詞", "discard_punctuation": true } } } }, "mappings": { "doc": { "properties": { "title": { "type": "text", "analyzer": "custom_kurumoji_analyzer" } } } } }
注意事项
- 如果你的词典条目特别多,内联字符串太长,可以考虑把词典内容存到一个单独的ES文档里,再通过脚本或批量操作动态生成分析器配置。
- 一定要确保词典是UTF-8编码,避免出现乱码问题。
- 词性部分可以用Kurumoji支持的标签,比如
カスタム名詞、一般名詞等。
3. 验证配置是否生效
你可以用_analyzeAPI测试自定义词典是否生效:
POST /your_index_name/_analyze { "analyzer": "custom_kurumoji_analyzer", "text": "東京スカイツリーへ行く" }
如果返回的tokens里東京スカイツリー是一个单独的词条,就说明自定义词典配置成功了。
内容的提问来源于stack exchange,提问作者svs
相关产品推荐
相关产品推荐

