関連性を高めるための MySQL フルテキスト検索のフィールドの優先順位付け
「キーワード」と「コンテンツ」という 2 つの列がある状況が発生したとします。 、」というテーブルと、両方の列にまたがる基礎となるフルテキスト インデックス。ただし、「キーワード」列に特定の用語を含む行の関連性を、「コンテンツ」列に含む行よりも高くしたいとします。
このタスクを「一致」を使用するコンテキスト内で実行するには、構文を使用して、多面的なアプローチを実装できます。
複数のフルテキスト インデックスの作成:
3 つのフルテキスト インデックスを確立:
加重関連性計算の利用:
クエリで、「キーワード」と「コンテンツ」の両方の一致の関連性スコアを個別に取得します。次に、加重加算を使用してこれらのスコアを結合し、「キーワード」の関連性により高い重みを割り当てます:
SELECT id, keyword, content, MATCH (keyword) AGAINST ('watermelon') AS rel1, MATCH (content) AGAINST ('watermelon') AS rel2 FROM table WHERE MATCH (keyword,content) AGAINST ('watermelon') ORDER BY (rel1*weight_factor)+(rel2) DESC
このアプローチにより、「キーワード」列の重要性に優先順位を付けることができます。 MySQL 全文検索クエリでのドキュメントの関連性を判断します。計算の重み係数を使用すると、目的の列内の一致する用語の優先順位を微調整できます。
以上が関連性を高めるために MySQL フルテキスト検索でフィールドに優先順位を付けるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。