Architecture 复制Lucene索引中的所有数据
我们正在从作为事件流存储在事件存储中的数据创建lucene索引。这些索引用于为我们的数据提供高效的分页/排序/搜索功能 为了满足我们的需求,我们不得不复制索引中的所有数据。 在这种情况下,从概念上讲,查询数据的最佳方式是什么 我看到两种选择:Architecture 复制Lucene索引中的所有数据,architecture,lucene,distributed,cqrs,event-sourcing,Architecture,Lucene,Distributed,Cqrs,Event Sourcing,我们正在从作为事件流存储在事件存储中的数据创建lucene索引。这些索引用于为我们的数据提供高效的分页/排序/搜索功能 为了满足我们的需求,我们不得不复制索引中的所有数据。 在这种情况下,从概念上讲,查询数据的最佳方式是什么 我看到两种选择: 直接从索引查询建筑视图模型的所有数据 仅从索引中查询ID列表,并使用这些ID从事件存储中查询数据 我们也关心可伸缩性和容错性,所以我也必须考虑这些。有什么建议吗?我想选项1更好。 将数据存储在索引中,只存储在分页/筛选表中需要从中构建模型的部分。然后把
- 直接从索引查询建筑视图模型的所有数据
- 仅从索引中查询ID列表,并使用这些ID从事件存储中查询数据
您使用事件快照吗?它们也可以被索引。还有第三种方法:您可以在索引中存储两种数据:要搜索的字段和+1 field=“complete serialized object”。然后从索引中获取数据所需的时间要少得多(如果是json,则可以直接在客户端使用)。缺点:索引需要花费更多的时间,索引大小要高出2倍(有可能在存储到索引之前“压缩”数据)。出于安全原因,某些数据不应直接发送回客户端等