ホームページ  >  記事  >  データベース  >  MySQL の全文検索結果を関連性によって並べ替えるにはどうすればよいですか?

MySQL の全文検索結果を関連性によって並べ替えるにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-03 02:19:29932ブラウズ

How can I sort MySQL fulltext search results by relevancy?

関連性による MySQL 全文検索結果の並べ替え

MySQL を使用する場合、結果を正確に並べ替えるためには、LIKE 検索と全文検索の違いを理解することが不可欠です。

提供されたクエリ内:

$query="SELECT * from `vocabulary` WHERE translation = 'word' OR translation LIKE '%word%'";

LIKE 演算子は、全文検索ではなく部分一致に使用されます。全文検索を実行するには、MATCH(...) AGAINST(...) 構文を使用します。

例:

$query="SELECT * from `vocabulary` WHERE MATCH(translation) AGAINST('+word')";

MATCH 関数は、一致するスコアを返します。関連性の近似値として使用されます。このスコアは結果の並べ替えに使用できます。例:

$query="SELECT *, MATCH(translation) AGAINST('+word') AS score FROM `vocabulary` ORDER BY score DESC";

このクエリは、結果を関連性によって並べ替え、スコアの最も高い一致が最初に表示されます。

以上がMySQL の全文検索結果を関連性によって並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。