首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用ElasticSearch从文档A和B合并以创建文档C

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

Stack Overflow用户
提问于 2019-03-23 07:14:52
回答 1查看 272关注 0票数 1

我的问题是,我需要对来自两个不同数据源的数据执行排序,一个是包含一些产品信息的MySQL数据库,另一个是包含链接到这些产品的一些指标的PostgreSQL。

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

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

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

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

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

EN

回答 1

Stack Overflow用户

发布于 2019-03-23 19:17:04

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

有两种方法可以实现这一点:

  1. 是一个ETL过程(提取、转换、加载),用于将两个源中的数据加载到单个文档中。在弹性世界中,您可以使用logstash来完成此操作this
  2. Data Virtualization应该无需拷贝data

即可完成此操作

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55308951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档