2010-03-03 115 views
0

這很奇怪,但我的搜索功能可以從我的項目表中搜索除「單詞」之外的任何單詞。我嘗試了一切,但似乎沒有搜索那個詞。任何人都可以幫助我嗎?功能不搜索特定單詞

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 AMP電機角向磨光機
8在砂輪機
1/4角度刻模機
7在角向磨光機
3在直磨機
利優比HP512K電鑽/驅動程序工具包
6包噴漆
非接觸式電壓測試儀

當我改變上述給:
9在15 AMP電機角向磨光機
8在臺式研磨
1/4角度模具研磨
7在角度研磨
3在直研磨
的Ryobi HP512K電鑽器/驅動器套件
-6-包噴漆
非接觸電壓計

和我搜索磨牀,該記錄=> 9在15 AMP電機角磨機正在顯示。

+0

你能提供一個項目中的數據的例子嗎? – 2010-03-03 08:36:15

+1

你能舉個例子嗎? – 2010-03-03 08:36:15

+0

我想我已經找到了問題。我的表格Item中有7個項目。 其中5人有名稱研磨機。當我搜索磨牀時,它不顯示任何結果。當我改名爲研磨項目4,然後我搜索研磨機,它顯示項目研磨機.. 林困惑! – chupinette 2010-03-03 08:37:31

回答

0

如果字磨牀在文本內移動,它會有什麼不同嗎?所以「15 AMP電動機角磨機」是「15 AMP電動機角磨機測試」?我問這個,因爲磨牀總是這個名字的最後工作。

我不是全文搜索的專家,但這是我開始的地方。