Elasticsearch
1,Elasticsearch 简介
1)分布式实时文件存储,可以将每一个字段都编入索引,使其可以被检索
2)可以作为一个大型分布式集群(数百台服务器)技术,处理PB级数据
3)Elasticsearch不是什么新技术,主要是将全文检索、数据分析以及分布式技术,合并在了一起,才形成了独一无二的ES
2,基本概念
1)Node(节点):Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例。单个 Elastic 实例称为一个节点(node)
2)cluster(集群):一组节点构成一个集群。
3)Index(索引):Elastic 数据管理的顶层单位就叫做 Index(索引)。它是单个数据库的同义词。每个 Index (即数据库)的名字必须是小写。
4)Document(文档):Index 里面单条的记录称为 Document(文档)。许多条 Document 构成了一个 Index。
5)Type(分组):分组就叫做 Type,它是虚拟的逻辑分组,用来过滤 Document。
3,安装
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.zip
下载压缩包,解压,进入 bim 目录执行 elasticsearch 即可
访问 localhost:9200 ,可以通过说明启动成功
参考 https://blog.csdn.net/ganquanzhong/article/details/108633025
4,中文分词器
使用 bin 下 elasticsearch-plugin 安装 ik 中文分词插件。
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.1/elasticsearch-analysis-ik-5.5.1.zip
重新启动 Elastic,就会自动安装这个插件。
使用 ik 分词器:
5,es 图形化页面
参考 https://blog.csdn.net/ganquanzhong/article/details/108633025,第 2.4 节
6,分片
把分片想象成数据的容器,文档存储在分片中,然后分片分配到集群中的节点,当集群扩容或缩小,ES将会自动在节点间迁移分片,以使集群保持平衡一个分片在es中是最小级别的工作单元.它只是保存了索引中所数据的一部分
分片可以是主分片或者复制分片,在集群中唯一一个空节点创建一个叫做blogs的索引,默认情况下,一个索引被分配5个主分片,每个主分片又分配一个副分片。
7. 集群
一个集群就是由一个或多个节点组织在一起,它们共同持有整个的数据,并一起提供索引和搜索功能。一个集群由一个唯一的名字标识,这个名字默认就是“elasticsearch”。这个名字是重要的,因为一个节点只能通过指定某个集群的名字,来加入这个集群。
集群的搭建:
准备三台服务器,内部复制三个 elasticsearch 服务。修改elasticsearch-cluster\node*\config\elasticsearch.yml配置文件。
node1:
#节点1的配置信息: #集群名称,保证唯一 cluster.name: my-elasticsearch #节点名称,必须不一样 node.name: node-1 #必须为本机的ip地址 network.host: 127.0.0.1 #服务端口号,在同一机器下必须不一样 http.port: 9200 #集群间通信端口号,在同一机器下必须不一样 transport.tcp.port: 9300 #设置集群自动发现机器ip集合 discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
node2:
#节点2的配置信息: #集群名称,保证唯一 cluster.name: my-elasticsearch #节点名称,必须不一样 node.name: node-2 #必须为本机的ip地址 network.host: 127.0.0.1 #服务端口号,在同一机器下必须不一样 http.port: 9201 #集群间通信端口号,在同一机器下必须不一样 transport.tcp.port: 9301 #设置集群自动发现机器ip集合 discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
node3:
#节点3的配置信息: #集群名称,保证唯一 cluster.name: my-elasticsearch #节点名称,必须不一样 node.name: node-3 #必须为本机的ip地址 network.host: 127.0.0.1 #服务端口号,在同一机器下必须不一样 http.port: 9202 #集群间通信端口号,在同一机器下必须不一样 transport.tcp.port: 9302 #设置集群自动发现机器ip集合 discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律