es2

  1. 引依赖 spring-boot-starter-data-elasticsearch
  2. 配置文件 spring.elasticsearch.rest.uris= ip:port
  3. 在 bean 上加注解 @Document(name = "索引名"),索引名首字母小写。 在属性上加字段 @Field(type = FieldType.XXX),指定字段类型
  4. 创建接口继承 ElasticsearchRepository<Goods,String> 并注入spring ; 参数一:泛型(类) , 参数二:索引 id 的类型; 例如: 以 Goods定义了一个索引,而Good中属性(索引的字段) id 为 String
  5. 可直接使用继承类调方法对es进行操作

=========================================

es搭集群:
按装好 es(解压缩包 或 docker) , 然后改es 配置文件的相关属性(config/elasticsearch.yml)

集群名称 (各节点同一集群的名称要一致)

cluster.name: my-application

节点名称

node.name: node-1

配置允许的访问网络

network.host: 0.0.0.0

http服务端口

http.port: 9201

配置集群间通信的端口号

transport.tcp.port: 9301

是否允许为主节点,默认true

node.master: true

是否为数据节点,默认true

node.data: true

初始配置选举master节点

cluster.initial_master_nodes: ["node-1"]

节点发现

discovery.seed_hosts: ["localhost:9301", "localhost:9302","localhost:9303"]

elasticsearch-head 跨域解决

http.cors.allow-origin: "*"
http.cors.enabled: true

作为用户,我们可以将请求发送到集群中的任何节点 ,包括主节点。 每个节点都知道任意文档所处的
位置,并且能够将我们的请求直接转发到存储我们所需文档的节点。 无论我们将请求发送到哪个节点,
它都能负责从各个包含我们所需文档的节点收集回数据,并将最终结果返回給客户端。 Elasticsearch 对
这一切的管理都是透明的。


(无论分片还是副本都是对于 索引来说的)
分片:单个索引数据量太大,可以把该索引的数据分为多分,每一份 就叫做分片。 每个分片都可存于同一集群的不同节点中。 分片由 es自动管理(检索索引时,需要各分片聚合等操作都由es管理,用户不用操心)。
副本:索引复制一份。

问: 创建一个索引时 分了 五个分片,和设置三个副本。问此索引一共有多少个分片?
(注意!分片是索引的分片,副本是索引的副本)
1个主索引 + 3个副本索引 = 总共4个索引
1个索引 分为 5个分片
所以 4 * 5 = 20个分片

posted @ 2023-05-31 04:20  mty072788  阅读(85)  评论(0编辑  收藏  举报