1

我正在开发一个招聘网站,我想通过相关性搜索招聘广告,例如,我有职位名称、job_text 等字段。现在假设一个人搜索 cakephp,我想先得到 cakephp 的结果,然后他们说 php 也匹配,但 cakephp 显然是最相关的。我怎样才能做到这一点?

4

3 回答 3

1

我的建议是您应该为排序目的运行多个查询。

例如,首先您使用 找到 title 为 php 的职位order by title desc,然后运行查询以查找职位关键字中出现“php”的职位,最后您可以运行查询以查找其中 description 包含单词“php”的职位它。

然后,您可以组合这些查询的结果。

于 2013-01-10T11:57:12.940 回答
1

我发现在那个阶段做我想做的最好的方法是与 apache solr 或一些类似的搜索引擎集成。

于 2014-09-17T14:45:38.953 回答
0

如果您想按相关性进行排序,必须提出一些标准来为您定义相关性并进行计算。例如,如果某篇文章获得更多浏览量,它可能比另一篇文章更相关,因为它被更多人看到。将该数字与其他一些变量(平均评分,例如,如果有评分功能)结合起来,根据它们计算相关性值,将其存储在您的表中并按相关性值字段排序。每次用于计算的变量之一发生更改时更新它,或者每天通过 cron 作业执行一次,这完全取决于您的要求和性能。

于 2013-01-09T02:04:47.407 回答