2009-08-23 22 views
1

は、私がメッセージ文字列は、この検索MySQLのクエリ

"HelloWhatsHappening" 

のようなものであるならば、私は

"Hello WhatsHappening" 
を持っている場合、それは仕事が何

を返すdosentしかし コード

以下
SELECT * FROM table WHERE MATCH(message) AGAINST ('Hello*') 

を持っています

正常に動作します

文字列のようなである場合も動作します:

"Hello= WhatsHappening" 

任意のアイデア?

+0

上記のすべての単語を検索する単語の配列に分割することによって、Like Queryを使用する必要があります。しかし、それでは、あなたが一番心強いものとどのようにマッチしますか? –

答えて

2

クエリをワイルドカードで指定し、 "IN BOOLEAN MODE"ステートメントを追加する必要があります。このように:それはMySQLでstop wordsの一つであるため、

SELECT * FROM table WHERE MATCH(message) AGAINST ('Hello*' IN BOOLEAN MODE) 

また、ハローを探して悩みを持っているかもしれません。したがって、それはちょうどこんにちはの場合は単語のインデックスを作成しませんが、単語 "HelloWhatsHappening"の場合は、インデックスを作成します。

+0

私は質問に..忘れてしまった。それは既にそれをやっている:( –

+0

私はブーイングモードを追加しました。しかし、それは仕事をしません –

+0

私はイマtwonkを考えて待ってください:D ...私のテーブルでは、そのような "Hello:"しかし、その理由はありません。 –