[英]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.