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

一部のフィールドに関連性を高め、mysql全文検索で関連性で並べ替えます

    まず、3つのフルテキストインデックスを作成します。

    * one on the title column
    * one on the body column
    * one on both title and body columns
    

    次に、次の方法でクエリを作成します。

    SELECT field1, field2, field3, title, body,
    MATCH (title) AGAINST ('word_to_search') AS rel_title,
    MATCH (body) AGAINST ('word_to_search') AS rel_body
    FROM table_to_use
    WHERE MATCH (title,body) AGAINST ('word_to_search')
    ORDER BY (rel_title*2)+(rel_body)
    

    これにより、タイトルの関連性が本文の2倍になります。

    これは、コンテンツをタグ(ユーザーには表示されない)などで並べ替えることができるようにする必要がある場合に非常に便利です。これにより、舞台裏から結果を微調整できるためです。




    1. コメントはストアドプロシージャのパフォーマンスを妨げる可能性がありますか?

    2. サブクエリの結果に正規表現を使用するにはどうすればよいですか?

    3. MySQL:2つのn:1関係ですが、同時に両方ではありません

    4. mysqlクエリ-出力の日付をフォーマットしますか?