MySQL の完全全文一致検索メソッド
テキスト検索を行うときは、通常、部分一致ではなく、完全に一致する単語を検索する必要があります。たとえば、「rid」を検索すると、「arid」のような単語が含まれるのではなく、「rid」が完全な単語として出現するレコードのみが返される必要があります。
MySQL で REGEXP と単語境界マーカーを使用する
MySQL では、REGEXP 演算子と単語境界マーカー [[:<:]]
および [[:>:]]
を使用して、全文一致を実現できます。これらのマーカーはそれぞれ単語の始まりと終わりを示します。
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '[[:<:]]rid[[:>:]]'</code>
これらのタグを使用すると、クエリでは「rid」という単語を正確に含む行のみが返されるようになります。
MySQL 8.0.4 以降のアップデート
MySQL 8.0.4 には、更新された RegExp エンジンが導入されています。したがって、必要な単語境界マーカーは b
に変更されました。
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '\b rid \b'</code>
バックスラッシュは 2 番目のバックスラッシュでエスケープする必要があることに注意してください。これらの手順に従うことで、MySQL で全文一致検索を簡単に実行でき、正確な結果を保証できます。
以上がMySQL で単語全体の検索を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。