gpt4 book ai didi

elasticsearch - Elasticsearch-将视频目录信息建模为一个索引与多个索引

转载 作者:行者123 更新时间:2023-12-03 01:37:42 25 4
gpt4 key购买 nike

我需要将由电影,电视节目,剧集,电视 channel 和直播节目信息组成的视频目录建模为elasticsearch。这些实体中有些是相关的,有些则没有。
即使存在一些共同的属性,这些实体的属性也大不相同。

现在,由于我可能需要进行查询交叉实体,请想象一个客户搜索某种可能是电影,电视 channel 或现场 Activity 节目的场景的情况,最好是让一个索引包含一个标记为通用实体的单一索引更好逻辑类型属性,还是最好有多个索引,每个实体1个(电影,电视节目, channel ,节目)为1?
另外,这些实体中的某些实体(例如电影)可以具有多种语言的元数据属性。

来自关系数据模型数据库,我将为每个实体创建不同的索引,并为每种语言创建一个语言变体索引。为了提高搜索性能和可用性,有什么建议或更好的方法吗?

最佳答案

是否使用多个索引在很大程度上取决于应用程序,因此我无法提供确切的答案,而是一些想法。

根据我的经验,索引比数据建模更能帮助维护和操作。例如,与从较大索引中的一个来源删除所有文档相比,删除索引要容易得多。或者,如果您支持完全独立的搜索应用程序,这些应用程序不相互查询数据,则可以采用不同的索引。

但是,当您要查询跨数据源的文档时,将它们保留在一个索引中是很有意义的。如果只是为了在索引中的所有项目之间具有可比的排名。确保重复使用数据中含义相似的字段(标题,生产年份,艺术家等)。对于源唯一的字段,我们通常使用带前缀标记的字段名称,例如仅限电影的元数据的movie_...

至于语言,您需要使用特定于语言的字段,例如title_en,title_es,title_de。理想情况下,在查询时,您会知道用户的语言(从浏览器,因为他们是明确选择的,...),然后在可用的语言特定字段中进行搜索。请确保在查询和索引编制时针对这些字段使用特定于语言的分析器。

我觉得搜索引擎有点像数据库的双重功能:数据库既可以存储数据,也可以为其建立索引。搜索引擎为数据建立索引,但也可以存储数据。数据库倾向于对架构进行规范化以消除冗余,搜索引擎最适合与非规范化数据配合使用以提高查询性能。

关于elasticsearch - Elasticsearch-将视频目录信息建模为一个索引与多个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51066717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com