您基本上想要做的是在“productPackId”上加入两个索引。
这在两个不同索引的弹性搜索中是不可能的。
有一个简单的解决方案:
使用图像 url(索引 2)遍历索引中的每个文档,并通过查询更新到索引 1,使用 productPackId 进行查询。这样您就可以将 image_urls 添加到 index1 中。
Elasticsearch 没有任何跨索引连接的概念。
HTH。
【讨论】:
ElasticSearch:通过来自不同索引的查询进行更新答案
ElasticSearch: update by query from a different indexElasticSearch:通过来自不同索引的查询进行更新我在使用 ElasticSearch 时遇到以下问题。假设我有一个名为“产品”的索引。一般来说,它的文档有以下几个字段:
然后(由于我无法在这里解释的原因,但假设不是我的决定)我有一个名为“productPacks”的另一个索引:
现在,我需要在“products”索引中获取索引“productPacks”的 imageUrl 字段根据“products”索引上每个文档的 *productPackId”。澄清一下:假设在“productPacks”文档中包含
"productPackId" = 1
有
imageUrl: "https://mywebsite.com/image1.jpg",
我需要的是所有“产品”索引上具有“productPackId”=== 1 的文档
imageUrl: "https://mywebsite.com/image1.jpg"
我找不到办法。
提前致谢!
(当然,这在 SQL 数据库上会非常简单。)
【问题讨论】:
标签: elasticsearch
您基本上想要做的是在“productPackId”上加入两个索引。
这在两个不同索引的弹性搜索中是不可能的。
有一个简单的解决方案:
使用图像 url(索引 2)遍历索引中的每个文档,并通过查询更新到索引 1,使用 productPackId 进行查询。这样您就可以将 image_urls 添加到 index1 中。
Elasticsearch 没有任何跨索引连接的概念。
HTH。
【讨论】: