我需要/想要在全球范围内定义我的自定义分析仪.因此我根据这个答案编辑了ES(elasticsearch.yml)的配置文件:我可以自定义弹性搜索以使用我自己的停止词列表吗?相关条目是
index.analysis.analyzer.angram:
type: custom
tokenizer: standard
filter: standard, lowercase, fngram
index.analysis.filter.fngram:
type: nGram
min_gram: 2
max_gram: 10
Run Code Online (Sandbox Code Playgroud)
但是当我试图调用时,curl -XGET 'localhost:9200/_analyze?analyzer=angram' -d 'this is a test'我得到了一个ElasticSearchIllegalARgumentException[failed to find analyzer [angram]].
配置错了吗?(虽然在启动时读取配置时遇到错误,我希望ES无法启动)
如何在全球范围内正确定义分析仪?
编辑: 我使用的是0.90.0版本
问题出在curl声明中的URL .信用转到Ivan(https://groups.google.com/forum/#!topic/elasticsearch/5XlUoghKURg)
我引用了小组的回答:
在索引引用之前,您不能使用自定义分析器.您需要创建一个使用分析器的映射,然后在分析器调用中使用该索引.无需将任何文档索引到该索引.
curl -XGET 'localhost:9200/SOMEINDEX/_analyze?analyzer=angram'
| 归档时间: |
|
| 查看次数: |
3715 次 |
| 最近记录: |