Elasticsearch 配置内置分析器(3)

一. 内置分析器(analyzer)

  内置分析器无需任何配置即可直接使用,也支持配置选项来更改其行为。

  下面示例,分别使用了自定义分析器与内置分析器

PUT my-index-000001
{
  "settings": {
    "analysis": {
      "analyzer": {
        "std_english": {       #自定义分析器名为std_english
          "type":      "standard",   #使用standard分词器
          "stopwords": "_english_"  #使用停用词
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "my_text": {              #创建一个字段
        "type":     "text",
        "analyzer": "standard",  #使用内置standard分析器
        "fields": {              
          "english": {       #创建子字段名为english     
            "type":     "text",
            "analyzer": "std_english"     #使用自定义std_english分析器
          }
        }
      }
    }
  }
}

   1.1 下面使用standard分析器

POST my-index-000001/_analyze 
{
  "field": "my_text", 
  "text": "The old brown cow"
}

    分析结果:[ the, old, brown,cow]

 

  1.2 下面使用自定义std_english分析器

POST my-index-000001/_analyze
{
  "field": "my_text.english", #调用子字段方式
  "text": "The old brown cow"
}

    分析结果: [old, brown,cow]

    使用自定义的std_english分析器,会发现少了一个词 the, 这是因为自定义的分析器中配置了stopwords停用词。

 

参考官方资料:Configuring built-in analyzers

 

posted on 2024-04-09 10:34  花阴偷移  阅读(31)  评论(0编辑  收藏  举报

导航