PHP MYSQL根据出现的单词数对搜索结果排序


PHP MYSQL order the search result by the number of words show up

我知道如何做一个常规的php mysql搜索和显示结果。然而,由于我试图完成的任务的性质,我需要能够计算出列中显示的世界/s,并将结果从高到低排序。让我解释一下:

例如,我的查询是:Anything无害的

结果1:

find words: 3
id: 12
NAME: self [无害]
DESCRIPTION:[任何]发生的事情。[任何]在发生时引起自身的事物

结果2:

find words: 5
id: 55
NAME:数据挖掘区域
描述:这是提取[无害]的知识意义[无害]新聘请的教师[无害]为了[Anything]的发展[Anything]。

美商结果:

find words: 1
id: 9
NAME: Programming php sql
说明:[Anything]成员来执行他们的任务。

它们将按如下方式排序/显示:(基于找到的单词数)。

find words: 5

id: 55
NAME:数据挖掘区域
描述:这是提取[无害]的知识意义[无害]新聘请的教师[无害]为了[Anything]的发展[Anything]。

find words: 3

id: 12
NAME: self [无害]
DESCRIPTION:[任何]发生的事情。[任何]在发生时引起自身的事物

find words: 1

id: 9
NAME: Programming php sql
[Anything]成员来执行他们的任务。

我希望我已经解释得足够好,请帮助,我真的不知道该怎么做。我不擅长php。如果你能给我一个代码或步骤,我将不胜感激。非常感谢。
this is my query: (simplified version)
$query = mysql_query("SELECT thesis_id,thesis_name,thesis_abstract 
    FROM thesis
    WHERE enabled = 1 AND
    MATCH(thesis_name,thesis_abstract) AGAINST('$find' IN BOOLEAN MODE)
    OR thesis_name LIKE '%$find%' OR thesis_abstract LIKE '%$find%'
    ")
while($data=mysql_fetch_array($query))
  { 
 echo $data['thesis_id'];
echo $data['thesis_name'];
echo $data['thesis_abstract'];
}

我认为您需要创建您的自己的worldcount函数在other中填充列'found words'的值,然后使用usort()函数按此列

排序