【发布时间】:2015-11-29 02:45:12
【问题描述】:
现在我们正在使用 MongoDB
让我们支持 1 亿用户配置文件。在用户个人资料中,我们有
a) 用户名 b) 名字 c) 姓氏 d) 电话号码 e) 地址:{城市、州、国家等} f) 描述 g)喜欢(数组列表) h) 性别等
另一个作业集合,作业字段是-:
a) 职位名称 b) 工作描述 c) minPackage d) 最大包装 e) 工作地点等
类似地,我们有任务、事件等的集合
对于 Example Jobs 的不同集合有不同的搜索有它自己的搜索视图和用户设置搜索过滤器,我们很容易对它们进行查询。
但是现在在首页有一个通用的搜索框,我们必须对每个集合进行全文搜索Ex如果用户键入任何内容而不是从每个集合中进行全文搜索(用户,工作,任务等)。
我的问题是 MongoDB 就是为此目的,或者我们必须使用 Elastic Search 或任何其他技术
【问题讨论】:
-
MongoDB 上的文本搜索仅在单个集合中,因此您必须合并(因此引入非规范化)其中的相关数据。另一方面,即使在第三个引擎(外部文本索引服务)上复制数据也是一种非规范化。历史上有点需要将 MongoDB 与 Solr 或 ElasticSearch 配对,因为最初不存在文本索引,但现在它变成了一个基于意见的 A-or-B 问题,因此无法客观地回答:有很多根据您的具体情况采用这两种解决方案的充分理由。
标签: mongodb search elasticsearch full-text-search