![](/img/trans.png)
[英]search for multiple values, sort by relevance (php + MySQL, no full text search)
[英]How to sort the results from full text index search based on relevance
嗨我有问题根据相关性排序我的SQL查询的结果。
这是我目前的疑问。
SELECT author FROM search WHERE MATCH(author,title,series) AGAINST('Anna Selby' in BOOLEAN MODE)
任何人都可以告诉我如何根据相关性对结果进行排序的解决方案
您可以选择匹配作为查询的一部分,然后将其作为“分数”返回。 然后你可以对它进行排序。 IE:
SELECT
author,
MATCH(author,title,series) AGAINST('Anna Selby' in BOOLEAN MODE) as score
FROM
search
WHERE
MATCH(author,title,series) AGAINST('Anna Selby' in BOOLEAN MODE)
ORDER BY
score
更新:这是一个加权的例子
SELECT
author,
(
(MATCH(author) AGAINST('Anna Selby' in BOOLEAN MODE) * 20) +
(MATCH(title) AGAINST('Anna Selby' in BOOLEAN MODE) * 10) +
(MATCH(series) AGAINST('Anna Selby' in BOOLEAN MODE) * 5)) as score
FROM
search
WHERE
MATCH(author,title,series) AGAINST('Anna Selby' in BOOLEAN MODE)
ORDER BY
score
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.