我正在开发一个求职网站,在那里我想通过相关性搜索招聘广告,我有诸如职位,例如job_text字段。现在假设一个人搜索cakephp,我想先得到cakephp的结果,然后在他们之后输入php,它也是匹配的,但cakephp显然是最相关的。我该怎么做呢?
发布于 2014-09-17 22:45:39
我找到的最好的方法是与apache solr或其他类似的搜索引擎集成。
发布于 2013-01-10 19:57:13
我的建议是,您应该运行多个查询来进行排序。
例如,首先使用order by title desc查找标题为“php”的作业,然后运行查询来查找在作业的关键字中出现'php‘的作业,最后可以运行查询来查找描述中包含单词'php’的作业。
然后,您可以组合这些查询的结果。
发布于 2013-01-09 10:04:47
如果你想按相关度排序,你必须想出一些标准来定义相关度并计算它。例如,如果某篇文章获得了更多的浏览量,它可能比另一篇文章更相关,因为它被更多的人看到。将该数字与其他几个变量(平均评分,例如,如果有评分功能)组合在一起,根据它们计算相关性值,将其存储在表中并按相关性值字段排序。每次计算的变量发生变化或通过cron作业每天更新一次时,都要更新它,这完全取决于您的要求和性能。
https://stackoverflow.com/questions/14223089
复制相似问题