0

最近新项目要做一个跟美团非常类似的团购网站。里面会涉及到包括热门团购的查询,个性化推荐,类别查询,按地理位置和时间排序等。。。

这个项目我会用Node.js和Mongodb。我想知道一下像这类的查询业务是不是需要用到比如Lucene或者Sphinx这样的全文索引引擎呢,或者其他思路?谢谢。

wujunyu 44
2014-01-14 提问
3 个回答
0

已采纳

试了一下,美团前台的搜索是索引了套餐的标题(包括网站编辑加上的部分)、店名、地址,其中套餐标题拆词也能搜到相应结果,而地址拆词搜不到。应该是用了两种方式,地址部分经过了分词用的是类似Xunsearch的分词索引插件,标题和店名是Sphinx之类的全文索引。

后台借了个账号看了下,单子、商家、套餐,都是按地址和标题搜索,和前台用的一个搜索接口,只是多个了ID。

考虑到Mongo对全文检索的响应速度,折中的解决方法是分词入MySQL,准确率一般,完美的方法只能是整合搜索引擎。热门、推荐、位置类别那些都好说。

0

团购需要查询的项目通常是固定的,比如价格、时间、地点、商家、折扣等等。

唯一能用到全文索引搜索的,可能就是团购商品的具体描述这块。但是相比上面的,这个搜索的作用比较小,用户也很少用到。建议前期先搁置这块,把精力集中在基本的、常用的功能上。等以后根据精力、性能、用户分析调研等因素再考虑。

0

elasticsearch 也不错啊~~

撰写答案

推广链接