2012-03-26 15 views
0

OK私はmysqlを使って検索機能を実装したいと思っています。一致句を使ってMYSQLを検索する

は今これを行うには、私は句に反しWHEREのMATCHを使用する必要がありますが、問題は

$sql = "SELECT * FROM users WHERE MATCH(username) AGAINST('LU' IN NATURAL LANGUAGE MODE)"; 

以下のクエリでそれはユーザ名が「呂」 場合には、行を返す習慣と一致する行を返すということですユーザー名は「Lucase」ですが、ユーザー名から2文字しか検索しません。 これは進歩しているかもしれませんが、準備ができていて、誰かが私を助けてくれたら大変感謝しています。

私がしたいことは、文字列内の文字に一致する行を検索することだと思います。
ここに伝えようとしていることを理解していただければ幸いです。

答えて

1

ブールフルテキスト検索を使用できます。これは多くの異なる演算子をサポートする機能です。あなたの場合、私が検索するためにあなたを推薦するには

http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html

SELECT * FROM users WHERE MATCH(username) AGAINST ('LU*' IN BOOLEAN MODE) 
+0

は、検索を微調整し、それを改善するために多くの方法がありますか? facebook検索サービスのように、それ以上のことは確かです。 –

+0

また、AGAINST()に値を追加するにはどうすればいいですか? –

+0

'+ LU * + Marshall * -Kurt *'などのように使えます。これはかなり柔軟性があり、詳細は上記のドキュメントを読んでください。より多くのスピードを望むなら、sphinxを使います。それは本当に本当に速くてしっかりしています。私はそれがとても好き。 –

関連する問題