当前位置: 首页 > 知识库问答 >
问题:

mysql - 根据MySQL数据创建ES索引步骤?

田玉韵
2023-08-25

已知数据表,请问如何根据表的字段创建ES索引,并且能自动实时更新,这个要如何做到呢,大致的步骤是怎么样的?

共有1个答案

谭山
2023-08-25

可以试试阿里开源的canal,它能解析MySQL的binlog日志,拿到数据后再写入到ES中。缺点是可能需要手动创建ES索引。

操作大致是这样的,可能有遗漏(canal文档应该也有说明)。

  1. mysql 开启 binlog 功能。
  2. 部署canal服务端程序,配置canal服务端程序连接mysql,读取binlog。
  3. 需要额外写一个程序,使用canal的客户端SDK,去消费canal服务端。它能拿到mysql的插入和更新的数据。拿到数据,插入到ES中就可以了。
 类似资料:
  • 主要内容:基本语法,创建普通索引,创建唯一索引创建索引是指在某个表的一列或多列上建立一个索引,可以提高对表的访问速度。创建索引对 MySQL 数据库的高效运行来说是很重要的。 基本语法 MySQL 提供了三种创建索引的方法: 1) 使用 CREATE INDEX 语句 可以使用专门用于创建索引的 CREATE INDEX 语句在一个已有的表上创建索引,但该语句不能创建主键。 语法格式: CREATE <索引名> ON <表名> (<列名> [

  • 主要内容:基本语法,在指定的数据库中创建表在创建数据库之后,接下来就要在数据库中创建数据表。所谓创建数据表,指的是在已经创建的数据库中建立新表。 创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性)约束的过程。接下来我们介绍一下创建数据表的语法形式。 基本语法 在 MySQL 中,可以使用 CREATE TABLE 语句创建表。其语法格式为: CREATE TABLE <表名> ([表定

  • 在MySQL 中,可以使用 CREATE DATABASE 语句创建数据库,语法格式如下: 中的内容是可选的。语法说明如下: <数据库名>:创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,不能以数字开头,尽量要有实际意义。注意在 MySQL 中不区分大小写。 IF NOT EXISTS:在创建数据库之前进行判断,只有该

  • 例如,我在MySQL中创建一张表,字段是id,keyword,content_id,然后查找的时候就可以通过关键字查找数据的id。它的原理和ES是一样的。既然如此,ES的优势在哪里?

  • 主要内容:使用 MySQLi 和 PDO 创建 MySQL 表,实例 (MySQLi - 面向对象),实例 (MySQLi - 面向过程),实例 (PDO)一个数据表有一个唯一名称,并有行和列组成。 使用 MySQLi 和 PDO 创建 MySQL 表 CREATE TABLE 语句用于创建 MySQL 表。 创建表前,我们需要使用 use myDB 来选择要操作的数据库: 我们将创建一个名为 "MyGuests" 的表,有 5 个列: "id", "firstname", "lastname"

  • 主要内容:使用 MySQLi 和 PDO 创建 MySQL 数据库,实例 (MySQLi - 面向对象),实例 (MySQLi Procedural),实例数据库存有一个或多个表。 你需要 CREATE 权限来创建或删除 MySQL 数据库。 使用 MySQLi 和 PDO 创建 MySQL 数据库 CREATE DATABASE 语句用于在 MySQL 中创建数据库。 在下面的实例中,创建了一个名为 "myDB" 的数据库: 实例 (MySQLi - 面向对象) <?php $serverna