sql >> データベース >  >> RDS >> Mysql

MySQL match()against()-関連性と列で並べ替えますか?

    これはかもしれない 必要なヘッド部分との関連性を高めます。倍増することはありませんが、おそらくあなたのために十分かもしれません:

    SELECT pages.*,
           MATCH (head, body) AGAINST ('some words') AS relevance,
           MATCH (head) AGAINST ('some words') AS title_relevance
    FROM pages
    WHERE MATCH (head, body) AGAINST ('some words')
    ORDER BY title_relevance DESC, relevance DESC
    
    -- alternatively:
    ORDER BY title_relevance + relevance DESC
    

    DBエンジンを柔軟に切り替えることができる場合は、調査したい代替案は Postgres 。オペレーターの重みを設定し、ランキングをいじることができます。



    1. スクリプトを使用してPHPMySQLデータベース接続をテストする方法

    2. オラクルのIN関数へのコンマ区切り値

    3. MySQLまたはMariaDB用のGaleraClusterを使用した複数のデータセンターのセットアップ

    4. ミリ秒単位の日付文字列にOracleto_date関数を使用する