0
点赞
收藏
分享

微信扫一扫

elasticsearch系统学习笔记6-文本分析与分词器

elasticsearch系统学习笔记6-文本分析与分词器

概念

  • Analysis(文本分析) 是把全文本转换成一系列单词(term/token)的过程,也叫分词;
  • Analysis(文本分析) 是通过 Analyzer(分词器) 来实现的;
  • 可使用内置的分词器,也可以定制化分词器;

Analyzer 的组成

分词器一般由三部分组成(也可以只包含部分组件):

  • Character Filters - 对原始文本进行一些处理操作;比如转换与过滤(去除)
  • Tokenizer - 按照一定规则对文本进行切分;
  • Token Filters - 将切分后的单词进行一些处理;如转换,增加(同义词…)与删除(结尾词…)

内置分词器

ES内置分词器

资料

  1. standard analyzer
  • Character Filters
  • Tokenizer
    • standard
  • Token Filters
    • standard
    • Lower Case (小写转换)
    • Stop (默认关闭)
  1. simple analyzer
  • Character Filters
  • Tokenizer
    • Lower Case
  • Token Filters

Language Analyzers

  1. ICU analyzer
  • https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html
  • https://icu.unicode.org/
  • Character Filters
    • Normalization
  • Tokenizer
    • ICU Tokenizer
  • Token Filters
    • Normalization
    • Folding
    • Collation
    • Transform

测试:

GET /_analyze
{
"analyzer": "icu_analyzer",
"text": "他说的确实在理"
}

_analyzer api

  1. 指定 Analyzer 进行测试
GET /_analyze
{
"analyzer": "standard",
"text": "Elasticsearch in Action"
}
  1. 指定索引的字段上所使用的分词器进行测试
POST user/_analyze
{
"field": "name",
"text": "Elasticsearch in action"
}
  1. 定制化分词器进行测试
POST /_analyze
{
"tokenizer": "standard",
"filter": ["uppercase"],
"text": "Elasticsearch in action"
}

举报

相关推荐

0 条评论