4

「products」という名前のデータベースと、列を持つ FULLTEXT インデックスがあります:titledescription. 私の製品はすべて潤滑剤(オイル)で、工業用と自動車用の 2 種類があり、比率は 55% ~ 45% です。auto-moto オイルの後に検索を行うと、「auto-moto」キーワードが行の半分以上に存在し、すべての行にオイルが存在するため、結果は返されません。したがって、MySQL はそれらを STOPWORDS に入れます。リスト。

私はPHPを使用しています。そのクエリを作成して正しい結果を返すにはどうすればよいですか?

4

2 に答える 2

3

答えはIN BOOLEAN MODEです。ブールモードを使用すると、mysql はキーが行の 50% 以上に存在することを無視します。同時に、それは非常に強力で便利な能力を持っています: AGAINST ('*key*').

于 2010-12-15T12:19:00.463 に答える
0

auto-motoに「-」文字が含まれているためである可能性があります。これは http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.htmlによるとNOT検索を実行するため、「auto 「しかし「モト」ではない

「オートモト」を検索してみてください

また、使用している実際のSQLを投稿して、問題の診断に役立つ可能性があります

于 2010-12-18T22:32:39.520 に答える