2013-09-30 55 views
0

我當前使用以下查詢來獲取搜索結果,並且它工作正常。MySql Match()Against()返回包含單詞的所有行

select name from table where MATCH(name) AGAINST(:searchTerm IN BOOLEAN MODE)

的事情是,如果行包含一個字MariaDb和用戶搜索Maria,它會返回任何結果。怎樣才能做一個搜索查詢來返回包含單詞Maria的所有行?

用戶還可以搜索多個單詞像Computer software

+0

任何機會,50%的人或更多的記錄包含'Maria'字? –

+0

不,只有一行叫'MariaDB' – jmenezes

+0

你如何定義'searchItem'?用雙引號還是單引號? –

回答

0

您需要使用運營商可以在這個鏈接查看:所以 http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html ,改變你的搜索詞與您需要的運營商acording。 你的例子是:

要與瑪麗亞字匹配MariaDB的,你的搜索詞應該是:瑪麗亞·

select name from table where MATCH(name) AGAINST('maria*' IN BOOLEAN MODE)