Elasticsearch名词解释
文章目录
- 1.什么是Elasticsearch?
- 2.什么是elastic stack(ELK)?
- 3.什么是Lucene?
- 4.什么是文档(document)?
- 5.什么是词条(term)?
- 6.什么是正向索引?
- 7.什么是倒排索引?
- 8.ES中的索引(index)
- 9.映射(Mapping)
- 10.DSL
- 11.elastcisearch与mysql的关系(读写分离)
- 12.Elasticsearch目录介绍
- 13.ES默认的两个端口
- 14.如何解决ES跨域问题
- 15.Kibana默认端口和启动文件
- 16.Kibana汉化
- 17.什么是IK分词器?
- 18.IK分词器的两种分词算法
- 19.IK分词器扩展词条,停用词条
- 20.ES的默认分词器
基于Elasticsearch-7.15.1,需要安装jdk8 或者jdk11支持
1.什么是Elasticsearch?
一个开源的分布式搜索引擎,通过Restful方式进行交互的近实时搜索平台框架,可以用来实现搜索、日志统计、分析、系统监控等功能,
2.什么是elastic stack(ELK)?
是以elasticsearch为核心的技术栈,包括(beats,(L)Logstash)数据抓取,((K)kibana)数据可视化,((E)elasticsearch)存储、计算、搜索数据
3.什么是Lucene?
java语言的搜索引擎类库,提供了搜索引擎的核心API,elasticsearch就是基于Lucene开发的
4.什么是文档(document)?
每一条数据就是文档,相当于mysql中的一条记录,但是ES中的文档是json格式的,文档中的字段成为Field,相当于mysql中的列Column
5.什么是词条(term)?
对文档中的内容进行分词,得到的词语就是词条
6.什么是正向索引?
基于文档id创建索引,查询词条的时候先找到文档,后判断文档是否包含词条
7.什么是倒排索引?
对文档的内容进行分词,对词条创建索引,查询时根据词条查询文档id,而后获得文档
8.ES中的索引(index)
相同类型的文档(json格式)集合,相当于mysql中的表(相同数据的集合)
9.映射(Mapping)
ES索引中文档的约束
10.DSL
DSL是elasticsearch提供的json风格的请求语句,就是操作ES,实现增删改查,相当于mysql中的sql语句
11.elastcisearch与mysql的关系(读写分离)
数据库负责事务类型的操作,可以确保数据的原子性、一致性、隔离性、持久性
擅长海量数据的搜索、分析、计算(针对业务量大、搜索需求比较复杂)
12.Elasticsearch目录介绍
bin/elasticsearch.bat:启动文件
config/log4j2:日志配置文件
config/jvm.options:虚拟机相关的配置
config/elasticsearch.yml:ES的配置文件!默认端口!跨域!
lib:相关jar包
logs:日志目录
modules:功能模块目录
data:数据目录
plugins:插件目录
13.ES默认的两个端口
9200:客户端使用
9300:集群内部通信
14.如何解决ES跨域问题
找到config/elasticsearch.yml文件
http.cors.enabled: true
http.cors.allow-origin: “*”# 也可以指定具体的允许来源
15.Kibana默认端口和启动文件
5601
bin/kibana.bat
默认会指向9200从而操作ES
16.Kibana汉化
x-pack/plugins/translations/translations/zh-CN.json
修改:config/kibana.yml --> i18n.locale: “zh-CN”
17.什么是IK分词器?
把一个一个中文划分成一个一个的关键字,如果使用中文,建议使用IK分词器,下载ik分词器之后,在ES的plugins目录解压放入ik目录,重启即可
在bin目录下打开命令行,执行elasticsearch-plugin list可以查看加载进来的插件
18.IK分词器的两种分词算法
ik_smart:最少切分,粗粒度
ik_max_word:最细粒度切分
19.IK分词器扩展词条,停用词条
当词典没有自己需要的词的时候就可以自己添加词语,例如"白嫖"
进入IK分词器的config/IKAnalyzer.cfg.xml文件更改配置
my.dic
mystop.dic
my.dic、mystop.dic就是自己在config目录下新建的词条文件
20.ES的默认分词器
standard分词器:默认的分词规则对中文处理并不友好