From bbf92b8ba6432d64100ca98eb76f945f0c07db19 Mon Sep 17 00:00:00 2001 From: hufangzhou Date: Sat, 14 Sep 2024 10:32:34 +0800 Subject: [PATCH] * [bug#55273,done,1.5h] Perform a fuzzy search on the entire keyword. --- module/search/tao.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/module/search/tao.php b/module/search/tao.php index 2f800ac5bc..b4aece8da4 100644 --- a/module/search/tao.php +++ b/module/search/tao.php @@ -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, '_');