分布式搜索引擎ElasticSearch——深入elasticSearch
文章目录
- 分布式搜索引擎ElasticSearch——深入elasticSearch
- 数据聚合
- 聚合的分类
- DSL实现Bucket聚合
- DSL实现Metric聚合
- RestAPI实现聚合
- 自动补全
- DSL实现自动补全查询
- 修改酒店索引库数据结构
- RestAPI实现自动补全查询
- 实现酒店搜索页面输入框的自动补全
- 数据同步
- 数据同步思路分析
- 利用MQ实现mysql与elasticsearch数据同步
- elasticsearch集群
- 搭建ES集群
- ES集群的脑裂
- ES集群的分布式查询
数据聚合
聚合的分类
DSL实现Bucket聚合
DSL实现Metric聚合
RestAPI实现聚合
自动补全
https://github.com/medcl/elasticsearch-analysis-pinyin
DSL实现自动补全查询
Completion Suggester
修改酒店索引库数据结构
RestAPI实现自动补全查询
实现酒店搜索页面输入框的自动补全
数据同步
数据同步思路分析
利用MQ实现mysql与elasticsearch数据同步
elasticsearch集群
搭建ES集群
部署es集群可以直接使用docker-compose来完成,不过要求你的Linux虚拟机至少有4G的内存空间
首先编写一个docker-compose文件,内容如下:
version: '2.2'
services:es01:image: docker.elastic.co/elasticsearch/elasticsearch:7.12.1container_name: es01environment:- node.name=es01- cluster.name=es-docker-cluster- discovery.seed_hosts=es02,es03- cluster.initial_master_nodes=es01,es02,es03- bootstrap.memory_lock=true- "ES_JAVA_OPTS=-Xms512m -Xmx512m"ulimits:memlock:soft: -1hard: -1volumes:- data01:/usr/share/elasticsearch/dataports:- 9200:9200networks:- elastices02:image: docker.elastic.co/elasticsearch/elasticsearch:7.12.1container_name: es02environment:- node.name=es02- cluster.name=es-docker-cluster- discovery.seed_hosts=es01,es03- cluster.initial_master_nodes=es01,es02,es03- bootstrap.memory_lock=true- "ES_JAVA_OPTS=-Xms512m -Xmx512m"ulimits:memlock:soft: -1hard: -1volumes:- data02:/usr/share/elasticsearch/datanetworks:- elastices03:image: docker.elastic.co/elasticsearch/elasticsearch:7.12.1container_name: es03environment:- node.name=es03- cluster.name=es-docker-cluster- discovery.seed_hosts=es01,es02- cluster.initial_master_nodes=es01,es02,es03- bootstrap.memory_lock=true- "ES_JAVA_OPTS=-Xms512m -Xmx512m"ulimits:memlock:soft: -1hard: -1volumes:- data03:/usr/share/elasticsearch/datanetworks:- elasticvolumes:data01:driver: localdata02:driver: localdata03:driver: localnetworks:elastic:driver: bridge
Run docker-compose
to bring up the cluster:
docker-compose up
ES集群的脑裂
### ES集群的分布式存储
ES集群的分布式查询
### ES集群的故障转移