我正在开发一个工作网站,我希望按相关性搜索招聘广告,我有工作职位,job_text等字段。现在让我们说一个人搜索cakephp,我想首先得到cakephp的结果,然后他们说php也匹配,但是cakephp显然是最相关的。我怎么能这样做?
答案 0 :(得分:1)
我的建议是你应该为分拣目的运行多个查询。
例如,首先使用order by title desc
找到标题为php的作业,然后运行查询以查找作业关键字中出现'php'的作业,最后您可以运行查询来查找作业description中有“php”这个词。
然后,您可以合并这些查询的结果。
答案 1 :(得分:1)
我发现在那个阶段做我想做的最好的方法是与apache solr或类似的搜索引擎集成。
答案 2 :(得分:0)
如果您想按相关性进行排序,必须提出一些关于如何为您定义相关性并进行计算的标准。例如,如果某篇文章获得了更多观点,那么可能比其他文章更具相关性,因为它被更多人看到了。将该数字与一些其他变量(例如,如果存在评级功能)进行平均评分,根据它们计算相关性值,将其存储在您的表中并按相关性值字段排序。每次计算变量之一更新时,或每天一次通过cron作业更新它,这一切都取决于您的要求和性能。