Elasticsearch基础
- 1. 传统数据库与elasticsarch
- 2. 下载Elasticsearch
- 7. 经过上述所有操作,就可以得到一个具体的连接可视化页面
- 3. 安装kibana
- 4. 其余知识点
elasticsearch是什么?
Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。
-----------------------来源百度
1. 传统数据库与elasticsarch
-
基础比较
mysql:采用正向索引。一般正常无索引时,是逐条索引查询。
elasticsearch:采用倒排索引。分为两种方式:文档及词条。文档:每一条数据都是一个文档;词条:文档按照语义分成的词语。
-
内部概念比较
mysql | elasticsearch | 具体说明 |
---|---|---|
Table | Index | 数据库中的表,elasticsearch中的索引 |
row | document | |
column | field | 数据库中的字段,elasticsearch中的字段 |
schema | mapping | 数据库中的字段类型,elasticsearch中的文档约束 |
sql | dsl(Domain Specific Language) | 数据库中的查询语句,elasticsearch中的查询语句描述; |
2. 下载Elasticsearch
-
下载路径:Elasticsearch下载
-
启动的时候需要注意,一般我们都会使用本地已经安装好的jdk,但是如果版本不一致的情况下,它会自动使用默认的jdk。这个时候就需要看看你安装elasticsearch版本和jdk的对应版本是否合适了,如果不合适记得替换。版本对照信息
-
通过对应的网址查看是否启动。
http://localhost:9200/
-
安装视图插件:elasticsearch-head,安装地址.按照如下图片下载即可,不过使用的时候需要用到npm;
-
简单安装cnpm,并将对应的elasticsearch-head启动起来.
// 1. 先通过brew 下载一下,因为我是mac系统。
brew search npm; // 查询一下,发现没有明确的版本标识,只能下载最新的了
brew install npm; // 直接按照标准化下载
// 切换npm的源未cnmp
npm config set registry https://r.cnpmjs.org/
// 直接下载cnmp,因为之前用淘宝的源,使用npm也下载不了
npm install cnpm -g
cnpm install
// 最后启动对应的服务,所有的操作都是在elasticsearch-head的目录内进行
npm run start
- 打开elasticsearch-head的启动网页。下面的跨域问题,需要再elasticsearch.yml文件里面进行一个跨域配置,否则两边会调不通。具体配置如下:
http.cors.enabled: true
http.cors.allow-origin: "*"
7. 经过上述所有操作,就可以得到一个具体的连接可视化页面
3. 安装kibana
安装kibana主要用于:直接查询。
- 网站下载位置:下载地址
2. 启动之后,直接将对应的页面打开验证一下:http://localhost:5601/app/integrations/browse
。可以在kibana的文件里面处理语言:i18n.locale: “zh-CN”。表示设置为中文。
3. ik插件的安装地址,找到自己的版本,然后下载,解压,重命名为ik,放入到elasticsearch目录的plugings
注意点:这里面一个是ik的版本,还有一个就是要删除一个隐藏文件,否则会无法起来。
rm /Users/ceciel/Downloads/elasticsearch-7.17.2/plugins/.DS_Store
4. 其余知识点
- 倒排索引:Lucence底层使用的倒排索引作为底层。简单理解就是按照当前已有的数据,进行反向记录,将一些数据按照某些特征明确出来,后续查询时规避掉一些无需查询的数据。
如:某个数据可能为:1 测试 ; 2 测试;3 测试1。 那么在查询测试1的时候,就直接通过倒排只会查询3。借此跳过1和2的查询。以此降低查询内容,增加了查询效率。