提高 MYSQL 全文搜索结果相关性
在 MYSQL 中,使用 MATCH(...) AGAINST(...) 提供全文搜索与使用 LIKE 运算符相比,这是一种更强大的查找相关结果的方法。与仅检查字符序列的 LIKE 不同,全文搜索利用基础索引和语言分析来根据相关性识别匹配。
使用 MATCH(...) AGAINST(...):
将现有查询替换为全文搜索查询,如下所示:
$query = "SELECT * FROM `vocabulary` WHERE MATCH(translation) AGAINST('word')";
匹配分数:
MATCH(... ) AGAINST(...) 表达式返回表中每行的匹配分数。分数越高表示匹配越相关。默认情况下,MYSQL 按此分数降序对结果进行排序(最相关的排在最前面)。
示例输出:
使用上面修改后的查询,您现在应该看到按相关性排序的结果:
1 | word <- exact match 2 | crossword <- partial matches sorted by matching score 3 | words 4 | wordsmith
通过使用 MATCH(...) AGAINST(...) 进行全文搜索,您可以有效地优先显示完全匹配项,并根据相关性对部分匹配项进行排名。
以上是如何提高 MySQL 全文搜索结果的相关性?的详细内容。更多信息请关注PHP中文网其他相关文章!