2013-04-25 84 views
1

我是MySQL FULLTEXTSEARCH。以下是我所嘗試的,FullTextSearch出現問題

SELECT * 
FROM example_myisam 
WHERE MATCH(data, data2) AGAINST ('+*ar' IN BOOLEAN MODE); 

但它給了我零結果。我正在尋找與當前LIKE語句轉換成FULLTEXT

SELECT * 
FROM example_myisam 
WHERE data LIKE '%ar' OR 
     data2 LIKE '%ar'; 

這裏是一個演示如果有幫助:http://www.sqlfiddle.com/#!2/d3fdd/12

這裏也是我的DDL語句:

CREATE TABLE example_myisam 
(
    id  INT, 
    data VARCHAR(50), 
    data2 VARCHAR(50) 
) ENGINE = MYISAM; 

ALTER TABLE example_myisam ADD FULLTEXT alltext (data, data2); 
+0

您是否在表中設置了FULLTEXT索引? – 2013-04-25 16:12:15

+0

@Kacey是的,我有。 – 2013-04-25 16:13:51

回答

1

您可能必須做結合MATCH()...AGAINST()LIKE來獲得你想要的結果。 *用於查找帶有前綴的單詞。所以,它必須像Vict*一樣使用。

+0

有沒有其他的方式來搜索包含字符串? – 2013-04-25 16:31:33

+0

我誠實地認爲這是您的最佳選擇。除非你想把所有的結果都拿出來,並且用代碼中的正則表達式對它們進行排序,我認爲你不想這樣做。 – 2013-04-25 16:35:28