Php 函数不搜索特定单词
这很奇怪,但我的搜索功能可以从我的项目表中搜索除“研磨机”之外的任何单词。我什么都试过了,但似乎找不到那个词。有人能帮我吗Php 函数不搜索特定单词,php,mysql,search,Php,Mysql,Search,这很奇怪,但我的搜索功能可以从我的项目表中搜索除“研磨机”之外的任何单词。我什么都试过了,但似乎找不到那个词。有人能帮我吗 CREATE FULLTEXT INDEX item_name_other_name_desc_index ON item (name,other_name,description) public static function Search($string) { $delims = ',.; '; $word = str
CREATE FULLTEXT INDEX item_name_other_name_desc_index
ON item (name,other_name,description)
public static function Search($string)
{
$delims = ',.; ';
$word = strtok($string,$delims);
while($word)
{
$result['accepted'][] = $word;
$word = strtok($delims);
}
$string = implode(" ", $result['accepted']);
$sql = 'SELECT item_id,name,other_name,description,price,discounted_price, thumbnail_photo,large_photo
FROM item
WHERE
MATCH(name,other_name,description)
AGAINST(:string)' ;
$parameters = array(':string' => $string);
$result['items'] = DB::GetAll($sql,$parameters);
return $result;
}
项目名称:
9英寸15安培电机角磨机8英寸台式磨床
1/4英寸角模磨床
7英寸角磨机
3英寸直磨机
Ryobi HP512K无绳钻机/驱动套件
6组份喷漆
非接触式电压测试仪
当我将上述内容更改为:
9英寸15安培电机角磨机
8英寸台架研磨
1/4英寸角模磨
7英寸角研磨
3英寸直磨
Ryobi HP512K无绳钻机/驱动套件
6组份喷漆
非接触式电压测试仪
我搜索Grinder时,会显示记录=>9 In 15 AMP电机角磨机。如果文本中移动了单词Grinder,那么“15 AMP电机角磨机”会是“15 AMP电机角磨机测试”吗?我这样问是因为研磨机总是这个名字的最后一个作品
我不是全文搜索方面的专家,但这正是我要开始的地方。默认情况下,mysql全文搜索将出现在50%以上的单词或行中的单词视为停止词()。尝试在布尔模式()中搜索,其中没有50%阈值。能否提供项中数据的示例?能否显示示例记录?我想我找到了问题所在。我的表中有7个项目。其中5个有研磨机的名称。当我搜索研磨机时,它不显示任何结果。当我将名为Grinder的项目的4更改为Grind时,然后我搜索Grinder,它显示项目Grinder。。我很困惑!!