【问题标题】:ElasticSearch Global AnalyzerElasticSearch 全局分析器
【发布时间】:2014-02-18 23:46:37
【问题描述】:

我想在 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)) 中读到,我需要创建一个使用分析器的映射,然后在分析器调用中使用该索引。

你能举个例子吗?

谢谢

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    以下是添加映射的方法:

    curl -XPUT 'http://localhost:9200/test_index/test/_mapping' -d '
    {
        "test": {
            "properties": {
                "myField": {"type": "string"}
            },
        "analyzer": "myTestAnalyzer"
        }
    }'
    

    如果您想为搜索和索引指定不同的分析器,您也可以使用search_analyzerindex_analyzer 而不是analyzer。 (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-root-object-type.html#_index_search_analyzers)

    【讨论】:

      猜你喜欢
      • 2013-05-30
      • 2011-07-19
      • 2014-02-15
      • 2012-10-01
      • 2018-07-21
      • 1970-01-01
      • 2023-03-25
      • 2014-02-25
      • 2016-08-29
      相关资源
      最近更新 更多