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

MySQL の全文検索結果の関連性を高めるにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-03 06:41:02222ブラウズ

How Can I Improve the Relevancy of My MySQL Fulltext Search Results?

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

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