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

Postgresqlのスコア/ランクを使用したフルテキストクエリ

    Postgresの全文検索は、MySQLの全文検索とは少し異なります。選択肢はたくさんありますが、好きなように動作させるのは少し難しいかもしれません。

    このドキュメントでは検索結果をランク付けする方法を説明していますが、マニュアルの全文セクション全体を読んで、それを使って何ができるかを理解することを強くお勧めします。 http://www.postgresql.org/docs/current/interactive/textsearch-controls.html#TEXTSEARCH-RANKING

    基本的に、クエリに相当するものは次のとおりです。

    SELECT pictures.id, ts_rank_cd(textsearch, 'phrase') AS score
    FROM pictures
    ORDER BY score DESC
    

    ご覧のとおり、これはtextsearchを使用します これはあなたが自分で定義しなければならないものです。短いバージョンについては、次をお読みください: http://www.postgresql。 org / docs / current / Interactive / textsearch-tables.html

    クエリは基本的に非常に単純です:

    SELECT pictures.id, ts_rank_cd(to_tsvector('english', pictures.title), 'phrase') AS score
    FROM pictures
    ORDER BY score DESC
    

    ただし、インデックスも追加することを強くお勧めします:

    CREATE INDEX pictures_title ON pictures USING gin(to_tsvector('english', title));
    



    1. VB.NETMySQL接続

    2. phpmysql_connect警告無効

    3. mysqlは、数字がコンマ区切りのリストにあるかどうかを確認します

    4. SQLAlchemyを使用したOracleデータベースへの接続