簡體   English   中英

如何根據相關性對全文索引搜索的結果進行排序

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM