【发布时间】:2018-06-21 03:40:15
【问题描述】:
我有一个生产订单文档类型
即
{
part_number: "abc123",
start_date: "2018-01-20"
},
{
part_number: "1234",
start_date: "2018-04-16"
}
我要创建商品单据类型 即
{
part_number: "abc123",
commodity: "1 meter machining"
},
{
part_number: "1234",
commodity: "small flat & form"
}
生产订单每周都存储在数据仓库中,并且是不可变的。
另一方面,商品可能会随着时间而变化。即 abc123 可以从 1 米加工变为 5 米加工,所以我不想将此数据与生产订单记录一起存储。
如果用户在商品文档类型中搜索"small flat & form",我想从生产订单文档类型中提取所有匹配的记录,匹配在零件号之间。
显然,我可以在带有连接的关系数据库中执行此操作。是否可以在 elasticsearch 中做同样的事情?
如果有帮助,我们有大约 50 万个零件号将被商品化,我们的生产订单数据仓库目前拥有 2000 万条记录。
【问题讨论】:
-
Elasticsearch 确实允许同一索引中的文档之间存在父子关系。这已经演变成不同的版本,最新的看起来像这样elastic.co/guide/en/elasticsearch/reference/current/…
-
所以连接是可能的,并且根据您的 ES 版本,语义会有所不同,并且随着大小的增加往往会变慢。
-
谢谢。看链接,我不明白这个过程。在 google 和 youtube 上搜索所有教程似乎都在 2 到 4 年之间,这表明开发人员正在避免使用连接。您知道使用当前语言版本的教程的链接吗?
标签: elasticsearch