MYSQL の全文検索結果の関連性の向上
MYSQL では、MATCH(...) AGAINST(...) を使用して全文検索を実行すると、 LIKE 演算子を使用する場合と比較して、関連する結果を見つけるためのより堅牢なアプローチです。単純に文字シーケンスをチェックする LIKE とは異なり、全文検索では基礎となるインデックスと言語分析を利用して、関連性に基づいて一致を特定します。
Using MATCH(...) AGAINST(...):
次のように、既存のクエリを全文検索クエリに置き換えます:
$query = "SELECT * FROM `vocabulary` WHERE MATCH(translation) AGAINST('word')";
マッチング スコア:
The MATCH(... ) AGAINST(...) 式は、テーブル内の各行の一致するスコアを返します。スコアが高いほど、より関連性の高い一致を示します。デフォルトでは、MYSQL はこのスコアに基づいて結果を降順 (関連性が高い順) に並べ替えます。
出力例:
上記の変更されたクエリを使用すると、関連性によって並べ替えられた結果:
1 | word <- exact match 2 | crossword <- partial matches sorted by matching score 3 | words 4 | wordsmith
MATCH(...) AGAINST(...) を使用した全文検索を利用すると、完全一致の表示に効果的に優先順位を付け、関連性に基づいて部分一致をランク付けできます。
以上がMySQL の全文検索結果の関連性を高めるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。