分布式搜索引擎ElasticSearch——深入elasticSearch

分布式搜索引擎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集群的故障转移
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/416923.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI赋能精益生产:一场科技与工业的完美融合!

在当今快速变化的市场中,精益生产被广泛应用于企业,以提高生产效率、降低成本并提高质量。然而,传统的精益生产仍然面临着一些挑战,如人为错误、低效率和风险管理问题等。为了应对这些挑战,人工智能(AI&…

[python语言]数据类型

目录 知识结构​编辑 复数类型 整数类型、浮点数类型 1、整型 2、浮点型 字符与字符串 1、转义字符 2、字符串的截取 3、字符串的拼接级连 4、字符串的格式化 1、format格式化 2、字符格式化 3、f标志位格式化--(推荐) 5、字符串的常用属性 1、对字符串做出判断…

Java学习(二十一)--JDBC/数据库连接池

为什么需要 传统JDBC数据库连接,使用DriverManager来获取; 每次向数据库建立连接时都要将Connection加载到内存中,再验证IP地址、用户名和密码(0.05s~1s)时间。 需要数据库连接时候,就向数据库要求一个&#xf…

x-cmd pkg | aliyun - 阿里云 CLI

目录 简介首次用户技术特点竞品和相关作品进一步阅读 简介 aliyun 是基于阿里云 OpenAPI 的管理工具,用于与阿里云服务交互,管理阿里云资源。 首次用户 使用 x env use aliyun 即可自动下载并使用 在终端运行 eval "$(curl https://get.x-cmd.com…

java 接口

图标区别: A:类 Action:抽象类 UserService:接口 在接口中不让定义方法: 不写,默认就是public abstract 定义接口: 接口都需要有一个实现类 类可以实现接口,通过implements关键…

day23 修剪二叉搜索树 将有序数组转换为二叉搜索树 将二叉搜索树转换为累加树

题目1:669 修剪二叉搜索树 题目链接:669 修剪二叉搜索树 题意 将二叉搜索树的节点值修剪到[low,high]这个范围内 递归 递归三部曲: 1)递归函数的参数和返回值 2)终止条件 3)单层递归逻辑 代码 /**…

Ubuntu系统Git的安装配置及使用笔记(更新中)

Ubuntu下Git的下载及配置 (1)、下载git 打开终端命令窗口,输入:sudo apt-get install git 提示:sudo命令是用来以其他身份来执行命令,预设的身份为root,使用sudo时必须先输入密码 (2)、可以使用命令git --version查看git的版本号 (3)、设置…

中国电子学会2021年12月份青少年软件编程Scratch图形化等级考试试卷一级真题(含答案)

一、单选题(共25题,每题2分,共50分) 1.点击下列哪个按钮,可以让正在运行的程序停下来?()(2分) A. B. C. D. 2.小乔完成了一个编程作品后,点击“文件”中的“保…

ES框架详解

ES框架详解 1、全文检索的介绍 ​ 那么对于一般的公司,初期是没有那么多数据的,所以很多公司更倾向于使用传统的数据库:mysql;比如我们要查找关键字”传智播客“,那么查询的方式大概就是:select * from table where …

回归预测 | Matlab实现MSADBO-CNN-LSTM基于改进蜣螂算法优化卷积神经网络-长短期记忆神经网络多特征回归预测

回归预测 | Matlab实现MSADBO-CNN-LSTM基于改进蜣螂算法优化卷积神经网络-长短期记忆神经网络多特征回归预测 目录 回归预测 | Matlab实现MSADBO-CNN-LSTM基于改进蜣螂算法优化卷积神经网络-长短期记忆神经网络多特征回归预测预测效果基本描述程序设计参考资料 预测效果 基本描…

多维时序 | Matlab实现CNN-BiLSTM-Mutilhead-Attention卷积双向长短期记忆神经网络融合多头注意力机制多变量时间序列预测

多维时序 | Matlab实现CNN-BiLSTM-Mutilhead-Attention卷积双向长短期记忆神经网络融合多头注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现CNN-BiLSTM-Mutilhead-Attention卷积双向长短期记忆神经网络融合多头注意力机制多变量时间序列预测效果一览基本介绍程序设计…

sql 注入真实例子 postman给接口一个入参sql 就可以返回sql执行结果,支持 查询 修改 删除sql

sql 注入真实例子 写一个sql 给代码 就可以返回执行结果 入参 postman 接口调用 get请求 可以用查询sql 可以用修改sql 可以用删除sql 注意 目前入参sql 有中文可能会乱码 controller 层 RequestMapping("/select")public RestResultDTO select(Param param) {try …