美文网首页
Elasticsearch 分词

Elasticsearch 分词

作者: 侧耳倾听y | 来源:发表于2021-11-21 11:18 被阅读0次

Analysis与Analyzer

  • Analysis

文本分析是把全文本转换一系列单词(term/token)的过程,也叫分词。

  • Analyzer

Analysis通过Analyzer来实现。

ES在数据写入时转换词条,匹配Query语句时也需要用相同的分析器对查询语句进行分析。

Analyzer的组成

  • Character Filters

针对原始文本处理,例如去除html。

  • Tokenizer

按照规则切分为单词,比如按照空格。

  • Token Filter

将切分的单词进行加工,小写,删除stopwords(停用词),增加同义词。

ES 内置的分词器

  • Standard Analyzer:默认分词器,按词切分,小写处理;


    image.png
  • Simple Analyzer:按照非字母切分(符号被过滤),小写处理;


    image.png
  • Stop Analyzer:小写处理,停用词过滤(the,a,is);


    image.png
  • Whitespace Analyzer:按照空格切分,不转小写;


    image.png
  • Keyword Analyzer:不分词,直接将输入当做输出;


    image.png
  • Patter Analyzer:正则表达式,默认\W+(分字符分隔);


    image.png
  • Language:提供了30多种常见语言的分词器;

  • Customer Analyzer:自定义分词器。

_analyzer API

  • 指定Analyzer进行测试;
GET /_analyze
{
  "analyzer" : "standard",
  "text" : "Master Elasticsearch, elasticsearch in Action"
}
  • 指定索引的字段进行测试;
POST 索引名/_analyze
{
  "field" : "title",
  "text" : "Master Elasticsearch, elasticsearch in Action"
}

  • 自定义分词器进行测试。
POST /_analyze
{
  "tokenizer" : "standard",
  "filter" : ["lowercase"],
  "text" : "Master Elasticsearch, elasticsearch in Action"
}

相关文章

网友评论

      本文标题:Elasticsearch 分词

      本文链接:https://www.haomeiwen.com/subject/mmvptrtx.html