私は自分のウェブサイトの検索機能に取り組んでいます。私はユーザーに最良の検索メカニズムを提供したいと考えています。私はPHP/MYSQLを使用しています。MySQLのフルテキスト検索?
はのは、ユーザが「スポーツ」で検索しましょう。
私は単語「スポーツ」と「スポーツ」が、私はスポーツを探していたときに、次のクエリは、結果だけの単語「スポーツ」を持って30を返す言葉を持つ5つのレコードを持つ30件のレコードを持っています。しかし実際には、良い検索結果を提供する最良の方法は、すべての30 + 5レコード、スポーツやスポーツを持つすべてのレコードを表示することだと思います。
SELECT DISTINCT p.id, p.title, p.descr, p.tags FROM pdata p WHERE MATCH (p.title, p.tags, p.descr) AGAINST ('sport')
私にいくつかの記事や私は良い検索機能を提供することができるでしょう&トリックが使用していくつかのヒントを教えてください。
ターゲットを叩いてください:) wow。ちょっと、その完璧な作業。しかし、なぜ私に前にデータを与えていないのか分かりません(*とBOOLEAN MODEキーワードなし)?教えてください。 – Prashant
しかしもう一つの問題があります。タイトル、タグ、およびdescrの列に "ipl"という単語がある5つのレコードを持っているのに対し、私はAGAINST( 'ipl *' in BOOLEAN MODE)を探しています。それでなぜその結果が返ってくるのか。私が "ICL"を検索しているときに、その結果が0であるのに対し、ICLを持っているレコードが1つあります。 – Prashant