我有一家弹性搜索索引公司,其文件如下:
{
"name": "apple",
"company_id": 1,
"founder": "jobs"
},
{
"name": "google",
"company_id": 2,
"founder": "larry"
}另一种弹性搜索索引产品,包括以下文件:
{
"product": "IPHONE13",
"company_id": "1",
},
{
"product": "IPHONE12",
"company_id": "1",
},
{
"product": "PIXEL 5",
"company_id": "2",
},
{
"product": "PIXEL6",
"company_id": "2",
},现在,我想查询这两个索引,以获得如下所示的输出,但不确定如何实现。我试着分别查询每个索引,并加入它们的输出以获得所需的结果,但这看起来不太正确。
{
"product": "IPHONE13",
"name": "apple",
"company_id": 1,
"founder": "jobs"
},
{
"product": "IPHONE12",
"name": "apple",
"company_id": 1,
"founder": "jobs"
},
{
"product": "PIXEL5",
"name": "google",
"company_id": 2,
"founder": "larry"
},
{
"product": "PIXEL6",
"name": "google",
"company_id": 2,
"founder": "larry"
}如果是SQL,我会使用query:select product, name, COMPANY.company_id, founder from COMPANY LEFT JOIN PRODUCT on PRODUCT.company_id=COMPANY.company_id
但不知道如何在弹性搜索中做到这一点。我只有读访问弹性搜索,不能去或修改索引.请问我们如何使用ES查询来达到这个结果呢?
发布于 2021-04-13 09:59:53
在像Elasticsearch这样的分布式系统中执行完整的SQL样式的联接是非常昂贵的。相反,Elasticsearch提供了两种形式的连接,它们被设计成水平扩展。
您可以从elasticsearch检查正式文件。
https://stackoverflow.com/questions/67069734
复制相似问题