php - 函数不搜索特定单词

标签 php mysql search

这很奇怪,但我的搜索功能可以从我的项目表中搜索除“grinder”一词之外的任何单词。我已经尝试了所有方法,但似乎没有搜索该词。有人可以帮我吗?

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 Motor Angle Grinder。

最佳答案

默认情况下,mysql 全文搜索将出现次数超过 50% 或行数的单词视为停用词 ( http://dev.mysql.com/doc/refman/5.1/en/fulltext-natural-language.html )。尝试在 bool 模式 ( http://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html ) 下搜索,其中没有 50% 阈值。

关于php - 函数不搜索特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2369724/

相关文章:

php - 执行触发器时出现 SQL DELIMITER 错误

mysql - 在MYSQL中简单的查询数据

php - 为 Laravel 应用程序中的所有表单设置全局选项

php - 定义数组 php 的替代方法

mysql - Group by Mysql 查询问题

按部分搜索单词

jquery - jqgrid 的通用搜索字段

未找到 PHP 错误类 'SoapClient'

php - 如何使用Join从另一个表中仅获取一条记录

php - MYSQL - 左连接从数据库表收集帖子和喜欢/评论