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

MySQL全文ブールモード検索はあまりにも多くの結果を返します

    ブールモードでの結果の並べ替えを強化するには、次を使用できます。

    SELECT column_names, MATCH (text) AGAINST ('word1 word2 word3')
    AS col1 FROM table1
    WHERE MATCH (text) AGAINST ('+word1 +word2 +word3' in boolean mode) 
    order by col1 desc;
    

    最初を使用する MATCH() 非ブール検索モードでスコアを取得します(より特徴的) MATCH() 必要な結果のみ(3語すべて)を確実に返すことができます

    したがって、クエリは次のようになります。

    SELECT *, MATCH (artist, title) AGAINST ('paul van dyk')
        AS score FROM tracks
        WHERE MATCH (artist, title) 
        AGAINST ('+paul +van +dyk' in boolean mode) 
        order by score desc;
    

    うまくいけば;今より良い結果が得られます。

    それが機能するか機能しない場合;教えてください。



    1. mysqlのストアコードを確認し、結果がtrueを返した場合にテーブルを更新するにはどうすればよいですか?

    2. すでに開いているDataReaderがあります...そうではありませんが

    3. jqueryhtmlおよびphpを使用してデータベースにタグを挿入する方法

    4. データベース内のすべてのテーブルを変更する