我正在为具有全文搜索功能(最好是 Solr)的事件管理系统设计一个解决方案。
以下是该系统中的4 种主要实体/文档类型:
- 场地是可以发生某些事情的地方。
- 标题是对可能发生的事情的描述。
- 活动是在特定地点的特定标题,从特定日期开始,到特定日期结束。
- 在一个活动中,会有一个或多个EventTimes,它们是活动中的个人展示/开放时间。
系统有 2 个数据源:
- 来自第 3 方供应商的每日数据馈送。
- 来自系统最终用户的用户生成内容 (UGC)
我正在考虑使用 MongoDB 作为该系统的数据库,并考虑使用 Solr 来支持全文搜索。我也在考虑使用Mongo 连接器来保持 MongoDB 和 Solr 之间的数据同步。Mongo 连接器需要 MongoDB 中的集合,该集合应直接映射到要从 MongoDB 填充的 Solr 文档。
在我的自然设计中,我不需要一个 MongoDB 集合来保存所有需要搜索的属性,但是由于连接器的这个要求,我不确定如何创建这个新集合?
任何建议将不胜感激。
之所以选择 Solr,是因为 Solr 提供了全面的搜索功能,例如分面搜索、过滤、支持每个文档和地理多边形的多个点的地理空间搜索、Lucene 查询语言的强大扩展等等。