ElasticSearch 全局分析器

问题描述 投票:0回答:2

我想在 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 }

我在另一篇文章(全局定义分析器(ES))中读到,我需要创建一个使用分析器的映射,然后在分析器调用中使用该索引。

您能给我一个如何做到这一点的例子吗?

谢谢你

elasticsearch
2个回答
0
投票

添加全局分析器的唯一方法是安装分析插件,请参阅此处:https://www.elastic.co/guide/en/elasticsearch/plugins/current/creating-stable-plugins.html


-1
投票

以下是添加映射的方法:

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

© www.soinside.com 2019 - 2024. All rights reserved.