假设我有如下表:ElasticSearch映射表与SQL表的外键
{
"ID": 1,
"Name": "Episode 2",
"TVSeriesID": 4
}
如果我那么有:
`title`
- id
- name
- tv_series_id
Example:
id=1, name="Episode 2", tv_series_id=4
我可以在ElasticSearch使用以下JSON结构容易映射此第二个表叫做tv_series
表title
表中引用的一个外键,例如:
`tv_series`
- id
- name
Example:
id=4, name='Friends'
那么我会如何在Elasticsearch中映射这种关系?有没有一种通用的方法可以在Elasticsearch中映射两个具有一个或多个外键关系的表?例如,通过执行某个连接语句?
感谢您的回应,所以在这种情况下,我需要做一个'LEFT OUTER JOIN',以防万一项目没有'tv_series_id'。否则,如果我们执行了“INNER JOIN”,它会从结果中排除该项目。或者我应该做另一种类型的连接? – David542
当然,JOIN的类型显然取决于你的数据模型,如果你认为你的剧集不属于某个特定系列,那么你需要和OUTER JOIN,否则如果所有剧集都与一个系列相关,那么一个左加入是好的。底线是你需要找到一种方法来规范你的数据。 – Val
但是在TVSeriesName被更新的情况下。我将不得不更新整个Episode文档(父文档)。否则,新的值不会出现在这里。假设有数千个这样的“父母”文件,那将是一种矫枉过正的方式。有没有更好的方法来实现这一目标? –