跳至主要內容
【博客检索系统】③mysql、es数据同步

1.数据同步

名词解释

​ 在mysql、es数据同步的过程中需了解两个概念

全量:第一次当建立完es索引之后将mysql数据一次性打包到es中

增量:当mysql产生新的数据(新数据add、旧数据update或者delete)需es做相应的操作

2.实现方式

编写脚本

​ 针对全量的场景,编写脚本:查询数据、数据处理、插入到es中

简单步骤说明如下:


holic-x...大约 4 分钟HLWElasticSearch
【博客检索系统】④springboot集成es

1.分词器介绍

分词器分类

​ standard:es默认的分词器,将词汇单元转为小写形式,并去除一些停用词和标点符号。(支持中文、单字切分)

​ simple:通过非字母字符分割文本信息,将文本单元统一为小写形式,去除数字类型字符。

​ whitespace:仅仅去除空格,没有任何lowcase化,不支持中文,对生成的词汇单元没有任何标准化处理

​ language:不支持中文

2.IK分词器的安装和使用

分词器效果


holic-x...大约 4 分钟HLWElasticSearch
【博客检索系统】②博客网站全文检索

​ 通过个人博客全文检索的实际场景,了解现有mysql技术的局限性,并初步认识ES的检索性能

​ 项目基于springboot构建个人博客demo

1.基于mysql实现

表结构设计

CREATE DATABASE blog;

USE blog;

CREATE TABLE `t_blog` (    
   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id',    
   `title` varchar(60) DEFAULT NULL COMMENT '博客标题',    
   `author` varchar(60) DEFAULT NULL COMMENT '博客作者',    
   `content` mediumtext COMMENT '博客内容',    
   `create_time` datetime DEFAULT NULL COMMENT '创建时间',    
   `update_time` datetime DEFAULT NULL COMMENT '更新时间',    
   PRIMARY KEY (`id`)    
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4


# 模拟
INSERT INTO `blog`.`t_blog`(`id`, `title`, `author`, `content`, `create_time`, `update_time`) VALUES (1, 'Springboot 为什么这', 'bywind', '没错 Springboot ', '2019-12-08 01:44:29', '2019-12-08 01:44:34');
INSERT INTO `blog`.`t_blog`(`id`, `title`, `author`, `content`, `create_time`, `update_time`) VALUES (3, 'Springboot 中 Redis', 'bywind', 'Spring Boot', '2019-12-08 01:44:29', '2019-12-08 01:44:29');
INSERT INTO `blog`.`t_blog`(`id`, `title`, `author`, `content`, `create_time`, `update_time`) VALUES (4, 'Springboot 中如何优化', 'bywind', NULL, '2019-12-08 01:44:29', '2019-12-08 01:44:29');
INSERT INTO `blog`.`t_blog`(`id`, `title`, `author`, `content`, `create_time`, `update_time`) VALUES (5, 'Springboot 消息队列', 'bywind', NULL, '2019-12-08 01:44:29', '2019-12-08 01:44:29');
INSERT INTO `blog`.`t_blog`(`id`, `title`, `author`, `content`, `create_time`, `update_time`) VALUES (6, 'Docker Compose + Springboot', 'bywind', NULL, '2019-12-08 01:44:29', '2019-12-08 01:44:29');

holic-x...大约 4 分钟HLWElasticSearch
【博客检索系统】①初识ElasticSearch

内容说明

1.ElasticSearch的概念和适用场景

2.ElasticSearch VS Mysql

3.ElasticSearch的安装与部署

1.ElasticSearch的概念和适用场景

​ Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

关键字:分布式(Node & Cluster)、全文检索、实时快速、Restful


holic-x...大约 4 分钟HLWElasticSearch
基于Springboot+ElasticSearch构建博客检索系统

基于Springboot+ElasticSearch构建博客检索系统

项目说明

​ 视频地址:https://www.imooc.com/learn/1161

​ 项目源码:https://github.com/holic-x/springboot-es

​ 项目笔记:https://www.yuque.com/u21572591/exqg2x/pco32x

学习内容

​ 结合实际需求分析,打造个人博客检索系统。内容涵盖 ES安装、ES基本概念和数据类型、Mysql 到 ES 数据同步、SpringBoot 操作 ES。可初步认识ES,理解ES的一些适用场景,以及如何使用springboot来同ES进行交互


holic-x...小于 1 分钟HLWElasticSearch