Elastic Search个人学习(4) 分词器 2 tokenizer与token filter

Tokenizer与Token Filter

Tokenizer是自定义分词语,他将原始文本按照一定规则切分为单词,自带的有:

Standard			将单词转换为小写, 并去除标点符号
Simple				根据非字母字符来分割文本信息,然后转为小写,该分词器会去掉数字类型的字符
Whitespace			以空格来分割
Stop				在Simple的基础上增加了去掉英文中的常用单词,比如 The,  a
Keyword				把整个输入作为一个单独词汇单元,不进行分词
Pattern				通过正则表达式分词
Language			解析特殊文本的分词器,比如阿拉伯语,没有中文

Token Filters
对Tokenizer输出的单词进行添加,删除,修改操作,自带的有:

Lowercase		将单词转换为小写
Stop			删除停词,比如The, a
ngram			切割单词 min_gram  最小切割 max_gram 最大切割
Synonym			添加近义词

例如下面语句:

POST _analyze
{
  "text": "Thank you very much!",
  "tokenizer": "standard",
  "filter": [
    "stop",
    "lowercase",
    {
      "type":"ngram",
      "min_gram":4,
      "max_gram":4
    }
  ]
}

返回结果为:

{
  "tokens" : [
    {
      "token" : "than",
      "start_offset" : 0,
      "end_offset" : 5,
      "type" : "<ALPHANUM>",
      "position" : 0
    },
    {
      "token" : "hank",
      "start_offset" : 0,
      "end_offset" : 5,
      "type" : "<ALPHANUM>",
      "position" : 0
    },
    {
      "token" : "very",
      "start_offset" : 10,
      "end_offset" : 14,
      "type" : "<ALPHANUM>",
      "position" : 2
    },
    {
      "token" : "much",
      "start_offset" : 15,
      "end_offset" : 19,
      "type" : "<ALPHANUM>",
      "position" : 3
    }
  ]
}

可以看到 输入的字符串在根据tokenizer与filter被转为小写,去掉标点后,根据ngram被分割成4个字符串一组

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值