PHP MySQL搜索和相关性排序

我知道如何进行常规的php mysql搜索并显示结果。但是,由于我要完成的工作的性质,我需要能够按相关性进行排序。让我更好地解释一下:

普通查询“ apple iphone应用程序”将使用%apple iphone

application%搜索数据库,但是如果没有记录以该确切顺序显示该短语,则搜索将不会产生任何结果。

我基本上需要做的是分别搜索“ apple”,“ iphone”和“

applications”,然后将结果合并为一个,然后根据记录中找到多少个单词实例对相关性进行分级。例如,如果我做了我想做的事,它返回了以下内容:

Iphone Applications From Apple

Apple Make The Best Apple Iphone Applications

Iphone Applications

他们的排名如下:

Apple Make The Best Apple Iphone Applications

Iphone Applications From Apple

Iphone Applications

因为找到了搜索词的实例数。参见突出显示:

[Apple] Make The Best [Apple] [Iphone] [Applications]

[Iphone] [Applications] From [Apple]

[Iphone] [Applications]

我希望我已经解释得足够好,如果有人可以给我任何指示,我将不胜感激。

回答:

看看MySQL FULLTEXT搜索功能,这些功能应根据相关性自动返回结果,并为您提供更多控制权

使用全文索引的唯一潜在问题是InnoDB表不支持它们。

以上是 PHP MySQL搜索和相关性排序 的全部内容, 来源链接: utcz.com/qa/397524.html

回到顶部