试了一下,美团前台的搜索是索引了套餐的标题(包括网站编辑加上的部分)、店名、地址,其中套餐标题拆词也能搜到相应结果,而地址拆词搜不到。应该是用了两种方式,地址部分经过了分词用的是类似
Xunsearch
的分词索引插件,标题和店名是Sphinx之类的全文索引。
后台借了个账号看了下,单子、商家、套餐,都是按地址和标题搜索,和前台用的一个搜索接口,只是多个了ID。
考虑到Mongo对全文检索的响应速度,折中的解决方法是分词入MySQL,准确率一般,完美的方法只能是整合搜索引擎。热门、推荐、位置类别那些都好说。