我在我的网站上进行基本搜索时遇到问题,因为它仅在词序完全匹配时才找到匹配项。
例如,如果我搜索红鞋,它不会显示红鞋的结果。
如果您搜索 Red Shoe Laces,它不会显示 Red Laces 的结果(因为单词 shoe 会影响这个订单)。以下是我认为搜索框正在使用的代码。谁能告诉我如何“放松”这个搜索,这样它要么更广泛,要么不需要精确的词序?
这是当前代码:我的 php 代码知识是基本的,所以如果可能的话,请参考如何解决这个问题的确切位置(如果可能的话):
case 'search':
if (intval($filter) != 0) {
$filter = JString::strtolower($filter);
$id = intval($filter);
$search .= $temp."(a.id = $id OR LOWER(a.ad_headline) LIKE '%".$this->_db->getEscaped($filter,true)."%' OR LOWER(a.ad_text) LIKE '%".$this->_db->getEscaped($filter,true)."%')";
} else {
$filter = JString::strtolower($filter);
$search .= $temp."(LOWER(a.ad_headline) LIKE '%".$this->_db->getEscaped($filter,true)."%' OR LOWER(a.ad_text) LIKE '%".$this->_db->getEscaped($filter,true)."%')";
}
break;
}
}
}
return $search;
}
这里有什么想法吗?