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 サイトの他の関連記事を参照してください。