elasticsearch概念,分词器介绍
es与关系型数据库之间的一些概念类比集群,节点Master-eligible nodes 和Master NodeData Node & Coordinating Node其它的节点类型配置节点类型分片分片的设定查看集群的健康状态文档create 一个文档GETIndex文档Update文档Bulk API批量读取-mget批量查询常见错误...
es与关系型数据库之间的一些概念类比



集群,节点


Master-eligible nodes 和Master Node

Data Node & Coordinating Node

其它的节点类型

配置节点类型

分片


分片的设定

查看集群的健康状态

文档
create 一个文档

GET

Index文档

Update文档

Bulk API

批量读取-mget

批量查询

常见错误返回

倒排索引
正排与倒排索引
书的目录-正排

倒排索引

图书和搜索引擎的类比
图书:
1.正排索引-目录页
2.倒排索引-索引页
搜索引擎
1.正排索引-文档id到文档内容和单词的关联
2.倒排索引-单词到文档id的关系

倒排索引的核心组成



Analyzer
analysis——文本分析是把全文转换成一系列单词(term/token)的过程,也叫分词
analysis是通过Analyzer来实现的
可使用Elasticsearch内置的分析器/或者定制化分析器
除了在数据写入时转换词条,匹配query语句时候也需要用相同的分析器对查询语句进行分析

Analyzer的组成

es内置的分词器

使用_analyzer API
通过三种方式查看analyzer是如何工作的
1.直接指定Analyzer进行测试
2.指定索引的字段进行测试
3.自定义分词进行测试

Standard Analyzer

1.默认的分词器
2.按词切分
3.小写处理
实验,在kibana开发工具界面查看其如何分词的

analyzer:指定哪种分词器
text: 要测试的文本

Simple Analyzer

1.按照非字母切分,非字母的都被去除
2.小写字母


Whitespace Analyzer

1.按照空格切分

stop Analyzer

1.相比Simple Analyzer
多了stop filter
会把the a is 等修饰词语去除

Keyword Analyzer

1.不分词,直接将输入当一个term输出


Pattern Analyzer

1.通过正则表达式进行分词
2.默认是\W+,非字符的符号进行分隔

Language Analyzer


中文分词
难点

ICU Analyzer
1.需要安装plugin
elasticsearch-plugin install analysis-icu
2.提供了Unicode的支持,更好的支持亚洲语言


更多的中文分词器

更多推荐

所有评论(0)