我必须组织一些处理结果的ES索引。处理结果将由在相同输入数据文档上运行的多个服务提供。
第一个服务将提取和计算输入文档的一些元数据,其他服务将对输入文档进行更深入的分析,提供几乎相同的结果,这仅仅是因为应用的算法类型。
我看到了如何在elasticsearch中索引处理结果的两个选项:
将结果存储在单个索引中,每个服务都将更新与输入文档对应的单个文档。索引文档将具有如下结构:
{ inputDocId:###, basicMetadata:{...}, deepStructureAnalysisResults: {algoRef:" algo1",结果:{}}, {algoRef:" algoN",结果:{}}, ] }
不在两个单独的索引中使用更新和索引元数据以及深层结构分析结果。因此,搜索过程必须对内部加入结果的两个索引运行查询。
哪种方法更好,特别是如果大多数查询将在以后定义,系统将会发展?