elasticsearch 使用数据库中50个表中的数据创建kibana仪表板,elasticsearch,kibana,elasticsearch,Kibana" /> elasticsearch 使用数据库中50个表中的数据创建kibana仪表板,elasticsearch,kibana,elasticsearch,Kibana" />

elasticsearch 使用数据库中50个表中的数据创建kibana仪表板

elasticsearch 使用数据库中50个表中的数据创建kibana仪表板,elasticsearch,kibana,elasticsearch,Kibana,我有50个表,它们的数据相互关联。 通常,如果只有2-3个表,我们会创建SP来连接所有表,并使用输出创建一个用于弹性搜索的索引,然后创建kibana 但对于50个表,这意味着SP输出有数百列(每个表有10000-1000000行),SP似乎不是一个好方法 我尝试创建50个具有类似名称的索引,然后使用索引模式。但在创建仪表板表单索引模式时,似乎实际上没有“连接”功能 以下是两个示例表结构: 表1有:部门ID、部门地址、部门名称 表2有:employeename、Departmentid、emplo

我有50个表,它们的数据相互关联。 通常,如果只有2-3个表,我们会创建SP来连接所有表,并使用输出创建一个用于弹性搜索的索引,然后创建kibana

但对于50个表,这意味着SP输出有数百列(每个表有10000-1000000行),SP似乎不是一个好方法

我尝试创建50个具有类似名称的索引,然后使用索引模式。但在创建仪表板表单索引模式时,似乎实际上没有“连接”功能

以下是两个示例表结构:

表1有:部门ID、部门地址、部门名称 表2有:employeename、Departmentid、employeeage

因此,希望这两个表以'Departmentid'作为键连接在一起。请记住,我们有50个表,每个表都有大量数据

有什么建议吗?
Ella

Elasticsearch不是传统的RDBMS。所以没有连接的概念。在同一索引中使用父/子连接支持有限。但与非规范化的平面文档结构或使用嵌套属性相比,这种方法的性能相对较慢

您需要首先对索引结构进行建模,并确定50个表/列中的哪一部分有足够的意义来实现elasticsearch。仅仅因为它被称为无模式,并且您可以选择转储它,并不意味着您必须将所有内容加载到索引中

因此,我的建议是,首先花时间对索引结构进行建模,确定现在需要哪些属性,以及将来需要哪些属性,然后完成您的寻源查询


此外,根据需要将数据加载到索引中的频率,您可能不必使用SP路由。您可以使用logstash使用底层SQL查询加载数据,也可以使用ES客户端库编写集群数据加载程序。最糟糕的情况是,您甚至可以使用CURL直接使用准备好的json数据文件调用批量API。因此,选择最适合您的用例的选项。

感谢您给出的答案。是的,我需要每天刷新数据,而且由于数据量大,SP对我们来说比文件更简单。