文章目录
- 1. 其他工具
- 2. 概述
- 概念
- 倒排索引
- 3. 使用
- 3.1 ElasticSearch-HelloWorld
- 3.1.1 配置文件-关闭安全认证、开启跨域
- 3.1.2 启动
- 3.1.3 访问9200端口
- 3.1.4 Rest访问约束规定
- 概念
- 测试
- 获取 - ElasticSearch所有的索引库信息
- 获取 - ElasticSearch健康信息
- 创建库(索引)- 数版本退化到这个就是表
- 创建库(索引)- 定义索引字段结构
- 获取 - 索引信息
- 新建文档 - 必须是_doc
- 查询文档 - 通过ID
- 修改文档
- 查询文档 - 通过条件
- 3.2 ElasticSearch-Head可视化Vue界面
- Vue项目正常启动即可
- 步骤1
- 步骤2 - ElasticSearch设置跨域
- 步骤3 - 重启ElasticSearch服务
- 步骤4 - 刷新浏览器地址:http://localhost:9100/
- 步骤5 - 新建索引(初学就先把ES当成数据库)
- 3.3 Kibana - 可视化日志界面、日志各种图表分析展示 - 磁盘空间已经使用95%则不能打开Kibana页面
- 配置
- 解压、启动
- 访问
- 解决 - This Elastic installation has strict security requirements enabled that your current browser does not meet.
- 使用
- 3.4 IK分词器 - 中文分词
- 概述
- 简单使用
- 1. 下载解压目录放置在ElasticSearch目录的plugin里面
- 2. 重启ElasticSearch
- 3. 查看是否加载成功
- 4. 分词测试
- 5. 有些词不被ik认为是一个单词,如【嗯星】被拆开了,所以我们需要自己定义什么单词为一个词语
- 6. 重启ElasticSearch - 可见已经将【嗯星】作为单词进行分词
1. 其他工具
2. 概述
概念
功能: 用于全文、结构化搜索以及分析
官网: https://www.elastic.co/
下载地址: https://www.elastic.co/cn/start
历史版本下载地址: https://www.elastic.co/cn/downloads/past-releases
倒排索引
每个文档拆分成独立的单词、词条,创建一个包含所有不重复的词条的排序列表,列出每个词条出现在哪个文档
权重计算
3. 使用
3.1 ElasticSearch-HelloWorld
3.1.1 配置文件-关闭安全认证、开启跨域
ElasticSearch目录\config\elasticsearch.yml
ElasticSearch安装目录\config\elasticsearch.yml
# 关闭ssl访问
# 添加配置
http.cors.enabled: true
http.cors.allow-origin: "*"
3.1.2 启动
双击ElasticSearch目录\bin\elasticsearch.bat
3.1.3 访问9200端口
http://127.0.0.1:9200/
3.1.4 Rest访问约束规定
概念
method | url地址 | 描述 |
---|---|---|
GET | localost:9200/_cat/xxxx | 获取ElasticSearch很多的其他信息 - 通过kibana自己尝试一下 |
GET | localost:9200/_cat/indices | 获取ElasticSearch所有的索引库信息 |
GET | localost:9200/_cat/_health | 获取ElasticSearch健康信息 |
PUT | localost:9200/索引名称 | 创建索引,请求体为索引字段结构 |
GET | localost:9200/索引名称 | 获取索引信息 |
PUT | localhost:9200/索引名称/_doc/文档id | 创建文档(指定文档id) |
POST | localhost:9200/索引名称/_doc | 创建文档(随机文档id) |
POST | localhost:9200/索引名称/_doc/文档id/_update | 修改文档 |
DELETE | localhost:9200/索引名称/ | 删除索引(表) |
DELETE | localhost:9200/索引名称/_doc/文档id | 删除文档 |
GET | localhost:9200/索引名称/_doc/文档id | 查询文档通过文档id |
POST | localost:9200/索引名称/_search | 查询所有数据 |
get | localost:9200/索引名称/_search?q=字段:字段值 | 查询所有数据 |
测试
获取 - ElasticSearch所有的索引库信息
get http://127.0.0.1:9200/_cat/indices
获取 - ElasticSearch健康信息
get http://127.0.0.1:9200/_cat/health
创建库(索引)- 数版本退化到这个就是表
put http://127.0.0.1:9200/lrc_blog
创建库(索引)- 定义索引字段结构
http://127.0.0.1:9200/lrc_blog2
//请求体
{
"mappings": {
"properties": {
"name": {
"type": "text"
},
"age": {
"type": "integer"
},
"birthday": {
"type": "date"
}
}
}
}
获取 - 索引信息
http://127.0.0.1:9200/lrc_blog2
新建文档 - 必须是_doc
put 127.0.0.1:9200/lrc_blog/_doc/1
{
"title":"雪中悍刀行",
"date":"2020-11-05",
"content":"关于庙堂权争与刀剑交错的江湖"
}
查询文档 - 通过ID
get /lrc_blog/_doc/2
修改文档
post /lrc_blog/_doc/文档ID/_update
//请求体
{
"doc": {
"age": "1000",
"name": "修改文档记录"
}
}
文档修改成功
查询文档 - 通过条件
方式1
post http://127.0.0.1:9200/lrc_blog/_search
//请求体
{
"query": {
"multi_match" : {
"query" : "科技",
"fields" : ["title"]
}
}
}
方式2 - 精确匹配
get lrc_blog/_search?q=title:雪中悍刀行222
3.2 ElasticSearch-Head可视化Vue界面
下载地址: https://github.com/mobz/elasticsearch-head/releases
Vue项目正常启动即可
步骤1
//拉取项目
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
//安装依赖
npm install
//启动head项目
npm run start
//打开浏览器
open http://localhost:9100/
可见显示未连接前端项目9100访问不了elasticSearch9200的东西,需要elasticSearch9200放开跨域,允许所有域名可访问
步骤2 - ElasticSearch设置跨域
ElasticSearch安装目录\config\elasticsearch.yml
# 关闭ssl访问
# 添加配置
http.cors.enabled: true
http.cors.allow-origin: "*"
步骤3 - 重启ElasticSearch服务
步骤4 - 刷新浏览器地址:http://localhost:9100/
步骤5 - 新建索引(初学就先把ES当成数据库)
3.3 Kibana - 可视化日志界面、日志各种图表分析展示 - 磁盘空间已经使用95%则不能打开Kibana页面
配置
kibana安装目录\config\kibana.yml
//将Kibana界面改成中文显示
i18n.locale: "zh-CN"
解压、启动
Kibana安装目录\bin\kibana.bat
访问
http://localhost:5601/
解决 - This Elastic installation has strict security requirements enabled that your current browser does not meet.
禁用谷歌全部插件、我也不知道是哪个插件引起的,所有我要一个没任何浏览器的插件进行打开
装有很多插件的Edge浏览器
啥插件都没装的星愿浏览器
使用
3.4 IK分词器 - 中文分词
概述
作用: 即把一段中文或者别的划分城一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词是将每个字看成一个词,比如“我爱狂神”会被分为"我",“爱”,"狂”,"神”,这显然是不符合要求的,所以我们需要安装中文分词器k来解决这个问题。
下载: https://github.com/medcl/elasticsearch-analysis-ik/
简单使用
1. 下载解压目录放置在ElasticSearch目录的plugin里面
2. 重启ElasticSearch
3. 查看是否加载成功
elasticsearch-plugin list
4. 分词测试
GET _analyze
{
"analyzer": "ik_smart",
"text": "我爱中国,中国共产党,嗯星,csdn"
}
GET _analyze
{
"analyzer": "ik_max_word",
"text": "我爱中国,中国共产党,嗯星,csdn*"
}