【问题标题】:How to work Elasticsearch in relational database如何在关系数据库中使用 Elasticsearch
【发布时间】:2018-08-12 22:28:53
【问题描述】:

我有两张桌子 companyma​​nagers 关系为 company belongsTo ma​​nagers强>。

公司表包含

  • 身份证
  • 姓名
  • 电话
  • 地址
  • manager_id

经理包含

  • 身份证
  • 姓名
  • 地址

这里如何创建elasticsearch索引??

我需要从

搜索公司详细信息
  1. 公司名称
  2. 经理姓名

【问题讨论】:

    标签: node.js postgresql elasticsearch nested elasticsearch-5


    【解决方案1】:

    您需要对数据进行反规范化以将其存储在 elasticsearch 中。您显然也可以在 elasticsearch 中使用父子关系,但我在这里看不到重点,因为您需要搜索公司/经理姓名。 您可以将其存储在公司索引中,如下所示:

    Companies/company_id
    {
       "name": <company_name>,
       "phone": <phone>
       ..,
       "manager_name": <manager_name>,
       ...
    }
    

    您可以使用 company_id 作为文档的 elastic_id,因为这样更容易更新它们。 因此,您应该能够编写一个脚本,从您的数据库中读取公司(显然已加载必要的关系)并将它们同步到 elasticsearch。您可以通过挂钩到您的数据库保存或通过 cron 作业将更改传播给公司/经理。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2021-04-20
      • 1970-01-01
      • 1970-01-01
      • 2014-10-18
      • 1970-01-01
      • 1970-01-01
      • 2019-04-15
      • 2021-08-18
      • 2019-10-06
      相关资源
      最近更新 更多