PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Renvoi des résultats de recherche classés à l'aide de l'index gin avec sqlalchemy

Vous pouvez utiliser des fonctions SQL dans vos requêtes en utilisant SQLAlchemy fonc

from sqlalchemy.sql.expression import func

(db.session.query(User, func.ts_rank('{0.1,0.1,0.1,0.1}', User.textsearchable_index_col, func.to_tsquery('smit:* | ji:*')).label('rank'))
    .filter(User.authentication_method != 2)
    .filter(User.textsearchable_index_col.op('@@')(func.to_tsquery('smit:* | ji:*')))
    .order_by('rank desc')
).all()