elasticsearch学习笔记(一)

一、先导知识

1. 集群


一个节点只能对应一个集群,一个集群可以包含多个节点。
ES可以把索引数据存放到服务器中,也可以sharding(分片)后存储到多台服务器上。每个索引有一个或多个分片,每个分片可以有多个副本。
主分片和它的副本分片存储在不同的节点上。
一个文档只能完整的存放在一个分片上。

2. json

json是一种数据交换格式,以下是一个包含各种类型和结构的JSON示例:

点击查看代码
{
"title":"JSON Example",
"author": {
"name":"John Doe",
"age": 35,
"isVerified":true
},
"tags":["json", "syntax", "example"],
"rating": 4.5,
"isPublished":false,
"comments": null
}
可自行网上搜索了解更多详情。

二、elasticsearch

elasticsearch(ES)是一个基于Lucene构建的开源、分布式、RESTfull接口全文搜索引擎,还是一个分布式文档数据库。

1. es和关系型数据库的对比


es是面向文档的,即它的最小搜索单位是文档。

2. 索引

索引是ES的一个逻辑存储,对应关系型数据库中的库。

注意:类型type目前已被废弃使用。
索引是具有相同结构的文档集合。elasticsearch大部分的操作都是基于索引来完成的。

3. 安装可视化工具kibana

官网下载和elasticsearch同版本的kibana,*tar.gz格式的
打开终端解压,修改解压后config目录中的kibana.yam配置文件

点击查看代码
server.port: 5601         #kibana端口
server.host: "0.0.0.0"   #所有主机都能访问,或者也可以指定一个ip
elasticsearch.hosts: "http://localhost:9200"     #配置es的访问地址
kibana.index: ".kibana"  # 我的版本不支持,注释掉
i18n.locale: "zh-CN" #配置项默认是英文,配置成中文的
cd到解压后的目录bin下,运行./kibana启动kibana 在浏览器输入http://localhost:<设置的端口号>即可访问, ![](https://img2024.cnblogs.com/blog/3548337/202411/3548337-20241107082038128-407227440.png)

4. 最基本的操作CURD

create新增索引库和文档
POST 'ip地址:端口号/索引名'
POST 'ip地址:端口号/索引名/_doc/<文档id>' 这是一个空文档
POST 'ip地址:端口号/索引名/_doc/<文档id><{body}>' body是JSON格式的文档内容
read获取索引库和文档
GET 'ip地址:端口号/索引名'
GET 'ip地址:端口号/索引名/_doc/<文档id>'
GET 'ip地址:端口号/<索引名>/<_doc>/<文档id>/_search <{query}>' query是具体的查询条件
update更新索引库和文档,索引库不存在则新增
PUT 'ip地址:端口号/索引名'
PUT 'ip地址:端口号/索引名/_doc/<文档id><{JSON数据}>' 全量修改
PUT 'ip地址:端口号/索引名/_update/文档id {"doc":{}}' 增量修改
delete删除索引库和文档
DELETE 'ip地址:端口号/索引名'
DELETE 'ip地址:端口号/索引名/_doc/文档id'

参考文档:
https://blog.csdn.net/zhoushimiao1990/article/details/103226496
https://www.cnblogs.com/buchizicai/p/17093719.html

posted @   白龙马123  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示