MySql 按相关性和另一列与顺序匹配



我想按相关性排序match against搜索,然后按listing_time列排序。相关性搜索效果很好,但是当我添加listing_time列时,搜索会带来看起来像随机结果的内容。

这是我sql

SELECT title, listing_time, match(description) against('+clip' in boolean mode) as rel
FROM product order by rel desc

这在 0.2 秒内带来了 86 个结果,所有结果都relevance 1 .伟大。

但是当我尝试使用额外的 cloumn 进行相同的搜索时

FROM product order by rel, listing_time desc

我在 1000 秒内获得了 27 个结果,它们的相关性无处不在。可怕。

那么我该如何正确执行此操作呢?我想要相关的结果,我希望它们按listing_time排序。

我猜你打算让order by是:

order by rel desc, listing_time desc
-------------^

ascdesc适用于每个密钥。

您的问题中没有任何内容表明两个结果集会有所不同,因此我猜测查询并不完全相同(例如,由于 joinwhere 子句)。

相关内容

  • 没有找到相关文章

最新更新