全局定义分析器(ES)

时间:2013-06-04 08:29:03

标签: elasticsearch

我需要/想要全局定义我的自定义分析器。因此我根据这个答案编辑了ES(elasticsearch.yml)的配置文件:Can I customize Elastic Search to use my own Stop Word list?相关条目

index.analysis.analyzer.angram:
  type: custom
  tokenizer: standard
  filter: standard, lowercase, fngram
index.analysis.filter.fngram:
  type: nGram
  min_gram: 2
  max_gram: 10

但是当我尝试调用curl -XGET 'localhost:9200/_analyze?analyzer=angram' -d 'this is a test'时,我得到ElasticSearchIllegalARgumentException[failed to find analyzer [angram]]

配置错了吗? (虽然我希望ES在启动时读取配置时遇到错误时无法启动)

如何在全球范围内正确定义分析仪?

修改 我使用的是版本0.90.0

1 个答案:

答案 0 :(得分:8)

问题在于curl声明中的网址。归功于Ivan(https://groups.google.com/forum/#!topic/elasticsearch/5XlUoghKURg

我引用了小组的回答:

  

在索引引用之前,您无法使用自定义分析器。您需要创建一个使用分析器的映射,然后在分析器调用中使用该索引。无需将任何文档索引到该索引。

     

curl -XGET 'localhost:9200/SOMEINDEX/_analyze?analyzer=angram'