我正在为我的新民意调查申请创建一个迷你搜索引擎。当你去http://www.pollmc.com/search.php?s=mlg(网站还没有btw)它将搜索一个类似的民意调查(我有一个名为“Mlg对吧?”的演示。它不会返回它......但如果我输入“正确”它。它返回两个民意调查;一个叫做“Mlg Right?”而另一个称为“Cool Right?”。is_similar文本函数建议使用百分比参数?这是我当前的代码:
function search($s, $highPriority = true) {
$link = $this->connect();
$results = array();
$results_highpriority = array();
$results_lowpriority = array();
$query = mysqli_query($link, "SELECT * FROM polls");
while($row = mysqli_fetch_array($query)) {
array_push($results, $row);
}
foreach($results as $r) {
if(strtolower($r['question']) == strtolower($s)) {
array_push($results_highpriority, $r['question']);
continue;
}
/*if(strlen($s) >= 3 && strpos(strtolower($r['question']), strtolower($s)) !== false) {
array_push($results_lowpriority, $r['question']);
continue;
}*/
similar_text(strtolower($r['question']), strtolower($s), $resultPercent);
if($resultPercent >= 50) {
array_push($results_lowpriority, $r['question']);
continue;
}
}
return $highPriority ? $results_highpriority : $results_lowpriority;
}
我确实已经 - 注释掉了 - 如果来自MYSQL的问题包含查询然后添加它(似乎工作)但我担心当我添加了20多个民意调查时它会返回太多。这是我的SQL数据库:http://prntscr.com/alr811