大家好,我刚刚开始探索ES,这似乎是满足我的搜索需求的绝佳解决方案。但是,我一直想弄清楚如何在当前的数据库存储设计中应用它。
我有2个表,其中一个称为“标题”,另一个称为“媒体”,标题是其中的一部分。
我的标题表很简单,它有5个字段,分别是:
ID是串行主键,media_id指向媒体表中的主键,该表包含有关媒体的其他信息(例如类型(电影/电视),年份,季节,状态等)。名称是标题文本的名称。语言指定标题的语言,类型指定标题是同义词还是正式标题,等等。
有几个标题指向同一媒体。目前,我使用Elasticsearch索引标题中的每一行。当我搜索时,它的确为我提供了很好的结果。但是,它返回标题的ID。我想知道是否有一种将结果分组的方法,因此可以为我提供media_id,而不是为我提供标题ID。
当前,当我执行搜索时,前5个结果指向相同的media_id,并返回5个唯一的标题ID。这迫使我查询数据库以获取media_id作为提供的标题ID。有没有更好的方法来实现我的用例?我在文档中读到了可以为索引创建的“父级”。不知道这是否是我所需要的,但这是有道理的。
我希望我能清楚地解释我的问题,并希望您能向我提出任何建议。
非常感谢!