84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
最近新项目要做一个跟美团非常类似的团购网站。里面会涉及到包括热门团购的查询,个性化推荐,类别查询,按地理位置和时间排序等。。。
这个项目我会用Node.js和Mongodb。我想知道一下像这类的查询业务是不是需要用到比如Lucene或者Sphinx这样的全文索引引擎呢,或者其他思路?谢谢。
走同样的路,发现不同的人生
试了一下,美团前台的搜索是索引了套餐的标题(包括网站编辑加上的部分)、店名、地址,其中套餐标题拆词也能搜到相应结果,而地址拆词搜不到。应该是用了两种方式,地址部分经过了分词用的是类似Xunsearch的分词索引插件,标题和店名是Sphinx之类的全文索引。
后台借了个账号看了下,单子、商家、套餐,都是按地址和标题搜索,和前台用的一个搜索接口,只是多个了ID。
考虑到Mongo对全文检索的响应速度,折中的解决方法是分词入MySQL,准确率一般,完美的方法只能是整合搜索引擎。热门、推荐、位置类别那些都好说。
团购需要查询的项目通常是固定的,比如价格、时间、地点、商家、折扣等等。
唯一能用到全文索引搜索的,可能就是团购商品的具体描述这块。但是相比上面的,这个搜索的作用比较小,用户也很少用到。建议前期先搁置这块,把精力集中在基本的、常用的功能上。等以后根据精力、性能、用户分析调研等因素再考虑。
elasticsearch 也不错啊~~
试了一下,美团前台的搜索是索引了套餐的标题(包括网站编辑加上的部分)、店名、地址,其中套餐标题拆词也能搜到相应结果,而地址拆词搜不到。应该是用了两种方式,地址部分经过了分词用的是类似Xunsearch的分词索引插件,标题和店名是Sphinx之类的全文索引。
后台借了个账号看了下,单子、商家、套餐,都是按地址和标题搜索,和前台用的一个搜索接口,只是多个了ID。
考虑到Mongo对全文检索的响应速度,折中的解决方法是分词入MySQL,准确率一般,完美的方法只能是整合搜索引擎。热门、推荐、位置类别那些都好说。
团购需要查询的项目通常是固定的,比如价格、时间、地点、商家、折扣等等。
唯一能用到全文索引搜索的,可能就是团购商品的具体描述这块。但是相比上面的,这个搜索的作用比较小,用户也很少用到。建议前期先搁置这块,把精力集中在基本的、常用的功能上。等以后根据精力、性能、用户分析调研等因素再考虑。
elasticsearch 也不错啊~~