1

我想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

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

那么我该如何正确地做到这一点呢?我想要相关结果,我希望它们按listing_time 排序。

4

1 回答 1

1

我猜你打算order by成为:

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

ascdesc应用于每个键。

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

于 2016-03-20T16:52:42.720 回答