* [bug#55273,done,1.5h] Perform a fuzzy search on the entire keyword.

This commit is contained in:
hufangzhou
2024-09-14 10:42:12 +08:00
committed by 王怡栋
parent 3e92248ac1
commit bbf92b8ba6
+2 -4
View File
@@ -400,16 +400,14 @@ class searchTao extends searchModel
{
/* 将 utf-8 字符串拆分为单词,为每个单词计算 unicode. */
$splitedWords = $spliter->utf8Split($word);
$trimmedWord = trim($splitedWords['words']);
$trimmedWord = trim($splitedWords['words']);
$against .= '"' . $trimmedWord . '" ';
$againstCond .= '(+"' . $trimmedWord . '") ';
if(is_numeric($word) && strpos($word, '.') === false && strlen($word) == 5) $againstCond .= "(-\" $word \") ";
}
$likeCondition = '';
/* Assisted lookup by like condition when only one word. */
if(count($words) == 1 && strpos($words[0], ' ') === false && !is_numeric($words[0])) $likeCondition = "OR title like '%{$trimmedWord}%' OR content like '%{$trimmedWord}%'";
$likeCondition = trim($keywords) ? "OR title like '%{$keywords}%' OR content like '%{$keywords}%'" : '';
$words = str_replace('"', '', $against);
$words = str_pad($words, 5, '_');