我想在ElasticSearch中定义一个全局分析器。我编辑了ES的配置文件(elasticsearch.yml)
index :
analysis :
analyzer :
myTestAnalyzer :
type : standard
max_token_length : 50
并重新启动服务。
当我在Sense中运行
GET /_analyze?analyzer=myTestAnalyzer
{"This is a test"}
我懂了
{
“error”:“ElasticsearchIllegalArgumentException [未能找到分析器[myTestAnalyzer]]]”,
“状态”:400
}
我读过另一篇文章(define analyzer globally (ES)),我需要创建一个使用分析器的映射,然后在分析器调用中使用该索引。
您能给我一个例子如何做到这一点。
谢谢
最佳答案
这是添加映射的方式:
curl -XPUT 'http://localhost:9200/test_index/test/_mapping' -d '
{
"test": {
"properties": {
"myField": {"type": "string"}
},
"analyzer": "myTestAnalyzer"
}
}'
如果要为搜索和索引指定不同的分析器,也可以使用
analyzer
和search_analyzer
代替index_analyzer
。 (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-root-object-type.html#_index_search_analyzers)
关于elasticsearch - ElasticSearch全局分析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21849804/