Elasticsearch实战学习笔记(六) Elasticsearch分析数据

本文深入探讨Elasticsearch的分析过程,包括分析器、分词器和过滤器的使用,以及如何通过分析API分析文本。介绍了标准分析器、关键词分词器、空白分词器等,并展示了如何自定义分析器。同时,强调了分析在文档索引前的重要性,以及如何在索引创建时设置分析器。
摘要由CSDN通过智能技术生成

Elasticsearch实战学习笔记系列   Elasticsearch分析数据

目录

Elasticsearch实战学习笔记系列   Elasticsearch分析数据

一、什么是分析

二、为文档使用分析器

1.在索引创建时增加分析器

三、使用分析API来分析文本

1.选择一个分析器

2.通过组合即兴地创建分析器

3.基于某个字段映射的分析

4.使用词条向量API _termvector来学习索引词条

四、分析器、分词器和分词过滤器

1.内置的分析器

2.分词器

(1)标准分词器

(2)关键词分词器

(3)字母分词器

(4)小写分词器

(5)空白分词器

(6)模式分词器

(7)UAX URL 电子邮件分词器

(8)路径层次分词器

3.分词过滤器

(1)标准分词过滤器

(2)小写分词过滤器

(3)长度分词过滤器

(4)停用词分词过滤器

(5)截断分词过滤器 、修剪分词过滤器和限制分词数量过滤器

(6)颠倒分词过滤器

(7)唯一分词过滤器

(8)ASCII 折叠分词过滤器

(9)同义词分词过滤器

系列目录

Elasticsearch实战学习笔记(一) Elasticsearch介绍

Elasticsearch实战学习笔记(二) Elasticsearch环境搭建(Mac Docker)

Elasticsearch实战学习笔记(三) Elasticsearch深入功能

Elasticsearch实战学习笔记(四) Elasticsearch索引、更新和删除数据

Elasticsearch实战学习笔记(五) Elasticsearch搜索数据

Elasticsearch实战学习笔记(六) Elasticsearch分析数据

Elasticsearch实战学习笔记(七) Elasticsearch使用相关性进行搜索

Elasticsearch实战学习笔记(八) Elasticsearch文档间的关系


一、什么是分析

分析(analysis)是在文档被发送并加入倒排索引之前,Elasticsearch在其主体上进行的操作

  • 字符过滤 使用字符过滤器转变字符
  • 文本切分为分词 将文本切分为单个或多个分词
  • 分词过滤 使用分词过滤器转变每个分词
  • 分词索引 将这些分词存储到索引中

 


二、为文档使用分析器

  • 当创建索引的时候,为特定的索引进行设置
  • 在 Elasticsearch的配置文件中,设置全局的分析器

1.在索引创建时增加分析器


三、使用分析API来分析文本

这个 API 允许你向 Elasticsearch 发送任何文本,指定所使用的分析器 、分词器或者分 词过滤器,然后获取分析后的分词。最为重要的输出是 token键。

1.选择一个分析器

可以通过 analyzer 参数中的名字(myCustomAnalyzer)来指向它

curl XPOST 'localhost:9200/get- together/ analyze?analyzer=myCustomAnalyzer' -d ' share your experience with NoSqlιbig data technologies'

2.通过组合即兴地创建分析器

有了分析的 API,就可以 指定一个分词器和一组分词过滤器,用于文本的分析。 例如,如果想使用空 白分词器(按照空白 来切分文本),然后使用小写和反转分词过滤器

curl - XPOST 'localhost:9200/_analyze?tokenizer=whitespace&filters=lowercase, reverse' - d 'share your experience with NoSql & big data technologies'

3.基于某个字段映射的分析

可以通过指定请求中的 field 参数来使用和这个字段关联的分析器

curl -XPOST 'localhost:9200/get-together/_analyze?field=description' -d '
share your experience with NoSql & big data technologies'

4.使用词条向量API _termvector来学习索引词条


四、分析器、分词器和分词过滤器

1.内置的分析器

Elasticsearch 所提供的内置分析器、分词器和分词过滤器 ,包含 许多这样的模块,如小写转换提取词干特定语言同义词等 。

  • 标准分析器
  • 简单分析器
  • 空白分析器
  • 停用分析器
  • 关键词分析器
  • 模式分析器
  • 语言和多语言分析器
  • 雪球分析器

2.分词器

(1)标准分词器

curl - XPOST 'localhost:9200/_analyze?tokenizer=standard' -d 'I have, potatoes.'

切分后的分词是 I、 have 和 potatoes

(2)关键词分词器

将整个文本作为单个的分词,提供给分词过滤器。唯一的分词是 Hi,there

curl -XPOST 'localhost: 9200/_analyze?tokenizer=keyword' -d 'Hi,there.'

(3)字母分词器

根据非字母的符号,将文本切分成分词

(4)小写分词器

小写分词器( lowercase tokenizer)结合了常规的字母分词器和小写分词过滤器(它将整个分词转化为小写) 的行为

curl -XPOST 'localhost:9200/_analyze?tokenizer=lowercase' -d 'Hi, there.'

分词是 hi 和 there

(5)空白分词器

curl - XPOST 'localhost:9200/_analyze?tokenizer=whitespace' -d 'Hi,  there.'

分词是 Hi,there.

(6)模式分词器

允许指定一个任意的模式,将文本切分为分词,被指定的模式应该匹配间隔符号 。

curl XPOST 'localhost:9200/pattern/_analyze?tokenizer=patternl' -d 'breaking.- sorne.-.text'

分词是breaking、some 和 text

(7)UAX URL 电子邮件分词器

(8)路径层次分词器

curl 'localhost:9200/_analyze?tokenizer=path_hierarchy' -d '/usr/local/var/log/elasticsearch.log'

分词是/usr、/usr/local、/usr/local/var、 /usr/local/var/log 和 /usr/local/var/ log/elasticsearch.log


3.分词过滤器

lowercase 过滤器、 stopword 过滤器和 synonym 过滤器

(1)标准分词过滤器

(2)小写分词过滤器

将任何经过的分词转换为小写

(3)长度分词过滤器

将长度超出最短和最长限制范围的单同过滤掉, 如果将 min 设置为2,并将 max 设置为8,任何小于2个字符和任何大于 8个字符的分词将会被移除

(4)停用词分词过滤器

将停用词从分词流中移除

a, an, and, are, as, at, be, but, by, for, if, in, into, is, it, no, not, of, on, or such, that, the, their, then, there, these, they, this, to, was, will, with

(5)截断分词过滤器 、修剪分词过滤器和限制分词数量过滤器

(6)颠倒分词过滤器

(7)唯一分词过滤器

只保留唯一的分词,它保留第一个匹配分同的元数据, 而将其后出现的重复删除

(8)ASCII 折叠分词过滤器

(9)同义词分词过滤器

使用关键词的同义词取代原始分词


系列目录

Elasticsearch实战学习笔记(一) Elasticsearch介绍

Elasticsearch实战学习笔记(二) Elasticsearch环境搭建(Mac Docker)

Elasticsearch实战学习笔记(三) Elasticsearch深入功能

Elasticsearch实战学习笔记(四) Elasticsearch索引、更新和删除数据

Elasticsearch实战学习笔记(五) Elasticsearch搜索数据

Elasticsearch实战学习笔记(六) Elasticsearch分析数据

Elasticsearch实战学习笔记(七) Elasticsearch使用相关性进行搜索

Elasticsearch实战学习笔记(八) Elasticsearch文档间的关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值