mysql - 如何将具有多个主键的 RDBMS 数据传输到 elasticsearch
问题描述
我想将数据从 RDBMS 传输到 elasticsearch。
来自 MySQL 数据
+---------+-----------+
| col1 | col2 |
+---------+-----------+
| a | abc |
| a | def |
| a | ghi |
| a | jkl |
| a | mno |
| b | pqr |
| b | stu |
| b | vwx |
+---------+-----------+
到 Elasticsearch 数据
{
"col1" : "a",
"col2" : ["abc", "def", "ghi", "jkl", "mno"]
}
{
"col1" : "b",
"col2" : ["pqr", "stu", "vwx"]
}
我想把 col1 作为'_id'。
是否可以通过 Logstash 或任何其他传输工具实现?
解决方案
您可以在 elasticsearch 中准确添加您想要的 _id。Logstash 让您可以使用document_id参数在弹性搜索输出中轻松定义它。
推荐阅读
- python - 如何将 ArrayField 定义为 django 表单
- go - 如何理解以下代码中的“ch=ch1”?
- c# - 如果至少检查了一个子节点,则检查父节点
- hugo - 如何使用 Hugo 创建三步嵌套?
- woocommerce - Noindex特定类别分页页面
- cakephp - CakePHP 3.x - 文件上传导致令牌不匹配
- javascript - 自定义元素类型在脚本类型 = 模块中加载时报告 HTMLElement?
- swift - 如何在当前应用程序之外获取接触点
- excel - VBA - 如何将 IEnumerable(Object) 转换为字符串
- css - ionic-4 离子选择选项上的文本换行