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的支持,更好的支持亚洲语言

更多的中文分词器

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐