文章目录
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端口
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.
禁用谷歌全部插件、我也不知道是哪个插件引起的,所有我要一个没任何浏览器的插件进行打开
使用
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*"
}
5. 有些词不被ik认为是一个单词,如【嗯星】被拆开了,所以我们需要自己定义什么单词为一个词语
6. 重启ElasticSearch – 可见已经将【嗯星】作为单词进行分词
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/46404.html