関連性によって MYSQL フルテキスト検索結果をランク付けする方法
質問:
どうすればよいですかMYSQL 全文検索結果を関連性によって並べ替え、完全一致を優先し、部分一致を並べ替えます。アルファベット順?
答え:
MYSQL で全文検索を実行するには、LIKE 演算子の代わりに MATCH(...) AGAINST(...) 構造を使用します。 。 MATCH(...) AGAINST(...) は、各結果の関連性スコアを返します。これを使用して、関連性によって結果を並べ替えることができます。
これは、全文検索を使用し、結果を次の基準で並べ替える変更されたクエリです。関連性:
このクエリは、最初に完全一致の結果を返し、次に部分一致が降順でソートされて返されます。関連性。
例:
次の語彙テーブルについて考えてみましょう:
id | translation |
---|---|
1 | word |
2 | crossword |
3 | words |
4 | wordsmith |
検索語「word」を使用して上記のクエリを実行すると、次の結果が返されます。関連性順に並べ替えられた次の結果:
id | translation |
---|---|
1 | word |
2 | crossword |
3 | words |
4 | wordsmith |
以上がMySQL の全文検索結果を関連性に従って並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。