我正在 PHP 中创建搜索功能。每当我使用查询进行搜索时,它都会返回与搜索的关键字/文本类似的文本。我想输出最接近搜索关键字的文本/数据。
例如:如果我搜索“omkar”关键字,则查询将必须返回“omkar”的所有记录以及最接近的文本,例如“oskar”、“onkar”、“omkr”等。
我正在使用 PHP 进行下一个 MySQL 查询:
$que = mysql_query("select * from table where name like '%{$name}%'"
此代码可以工作并执行类似的单词/文本,但我也想显示最接近的单词。
最佳答案
我会为此使用“全文搜索”索引。它的设计目的完全相同。
参见: -https://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html -https://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html
除了性能之外,它还为您提供了用于构建查询的附加语法,例如:
mysql> SELECT * FROM articles WHERE MATCH (title,body)
-> AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
关于php - 如何编写搜索脚本以返回最接近搜索文本/关键字的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32907299/