gpt4 book ai didi

elasticsearch - 是否可以合并以使用 ElasticSearch 从文档 A 和 B 创建文档 C

转载 作者:行者123 更新时间:2023-12-02 23:53:58 25 4
gpt4 key购买 nike

我的问题是我需要对来自两个不同数据源的数据进行排序,一个 MySQL 数据库包含有关某些产品的信息,一个 PostgreSQL 包含一些与这些产品相关的指标。

因为数据驻留在两个不同的数据源中,所以我不能开箱即用地提出一个可以在数据库级别进行排序(分页)的高性能查询。
我需要进行两个不同的查询,然后手动合并数据并执行排序和分页代码端。
我想尽可能避免创建自定义分页系统和手动数据合并,并尽可能将这项工作委托(delegate)给底层数据库。

这就是我认为像 ElasticSearch(或 Solr,但 ES 似乎更容易使用)这样的系统可以提供帮助的地方。

1) ES 是否提供将 2 个数据源合并到 1 个文档的工具或机制?或者这项工作需要由第三方工具完成,该工具将定期从数据源中提取数据并创建/更新文档?

2)我正确地假设在我的情况下拥有 2 个索引(或 2 个不同的文档类型)是没有意义的,因为 ES 无法执行连接查询?

3)除了创建一个文档之外,我还有什么其他解决方案可以让 ES 提供帮助?是否有可能“以某种方式”在 index1 中有 datasource1 数据,在 index2 中有 datasource2 数据,我可以同时使用这两个索引执行多个搜索查询(因为加入是不行的)。

最佳答案

Does ES provide tools or mechanism to merge 2 datasource into 1 document ? Or this job needs to be done by a 3rd party tool that will peridocally pull the data from both datasource and create / update the documents?



有两种方法可以做到这一点:
  • 一种 ETL 过程(提取、转换、加载),用于将来自两个来源的数据加载到一个文档中。在 Elastic 世界中,您可以使用 logstash完成这个
  • Data Virtualization应该这样做而不需要复制数据

  • 3) Apart from creating one single document what other solution do I have that ES can help with? Is it possible 'somehow' that with having datasource1 data in an index1 and datasource2 data in an index2 I can perform multiple search queries using both the index at the same time (since join is a no go).



    通过多个索引执行单个查询非常容易。 Answers here

    关于elasticsearch - 是否可以合并以使用 ElasticSearch 从文档 A 和 B 创建文档 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55308951/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com