Elasticsearch如何扩展分析器?

时间:2019-11-27 10:40:41

标签: elasticsearch

给出了一些分析器,例如standard analyzer

假设您要修改标准分析器的令牌生成器,可以执行类似的操作

"my_analyzer": {
  "tokenizer": "my_tokenizer",
  "char_filter": "standard_char_filter",
  "filter": "standard_filter"
}

也就是说,您的分析仪基于现有分析仪并进行自定义吗?

1 个答案:

答案 0 :(得分:0)

如果您想redefine the standard analyzer,则需要定义一个自定义变量,如下所示:

PUT /standard_example
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "tokenizer": "standard",    <-- change this
          "filter": [
            "lowercase"       
          ]
        }
      }
    }
  }
}

但是,由于standard分析器使用standard标记器,因此,如果将标记器更改为其他名称,它将不再是standard分析器,它将成为您的自定义标记器使用lowercase令牌过滤器。但是,完全可以基于standard创建自定义分析器。