Elasticsearch-分词器

          ES文档的数据拆分成一个个有完整含义的关键词,并将关键词与文档对应,这样就可以通过关键词查询文档。要想正确的分词,需要选择合适的分词器

默认分词器  

standard analyzer Elasticsearch 默认分词器,根据空格和标点符号对英文进行分词,会进行单词的大小写转换。(默认分词器是英文分词器,对于中文的分词是一字一词)
GET /_analyze
{
  "text":"I love SpringMVC",
  "analyzer":"standard"
}

ik分词器

IKAnalyzer 是一个开源的,基于 java 语言开发的轻量级的中文分词工具包。
提供了两种分词算法
1.   ik_smart 最少切分
2 .  ik_max_word  最细粒度划分
GET /_analyze
{
  "text":"明日复明日,明日何其多",
  "analyzer":"ik_smart"
}

分词器_拼音分词器

  拼音分词器可以将中文分成对应的全拼,全拼首字母等。
GET /_analyze
{
  "text":"明日复明日,明日何其多",
  "analyzer":"pinyin"
}

自定义分词器

          真实开发中我们往往需要对一段内容既进行文字分词,又进行拼音分词,此时我们需要自定义ik+pinyin 分词器。
PUT /student3
{
  "settings": {
    "analysis": {
      "analyzer": {
        "ik_pinyin":{
          "tokenizer":"ik_max_word",
          "filter":"pinyin_filter"
        }
      },
      "filter": {
        "pinyin_filter":{
          "type":"pinyin",
          "keep_separate_first_letter": false,
          "keep_full_pinyin": true,
          "keep_original": true,
          "remove_duplicated_term": true
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "name":{
        "type": "text",
        "store": true,
        "index": true,
        "analyzer": "ik_pinyin"
      },
    "phone":{
       "type":"integer"
      }
    }
  }
}

测试自定义分词器

GET /student3/_analyze
{
  "text":"你好程序员",
  "analyzer":"ik_pinyin"
}

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Victor故里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值