我正在尝试实施一个网络/智能手机应用,允许用户根据关键字和位置搜索地点,这是要求:
我们使用ASP.NET MVC作为我们的Web开发框架,使用MongoDB作为数据存储。我们还在我们的数据库中维护所有邮政编码和城市/州以及他们的质心(纬度/经度)的列表。我们的想法是用我们自己的算法覆盖全文系统提供的评分(如Lucene得分)。我正在努力寻找解决这个问题的最佳解决方案。我想知道我们是否应该使用MongoDB全文搜索或尝试使用Lucene .NET或者Solr?任何帮助/指针/评论总是得到赞赏!
答案 0 :(得分:3)
因此,作为一个起点,MongoDB不支持全文搜索。
它具有一些正则表达式功能,您可以在数组上编制索引。所以你可以在这里做一些事情,比如建立一系列关键词,以便进行基本的文本搜索。
然而,这与Solr和Sphinx相差甚远。
你将面临的另一个重大问题是相关评分。使用MongoDB执行任何类型的服务器端相关性评分将非常困难。没有真正有效的服务器端存储过程版本。您可能必须将结果提取给专用于该评分的客户端或服务器。