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

Comment implémenter PostgresQL tsvector pour la recherche en texte intégral à l'aide de Sequelize ?

Sequelize version 6.5.0+ prend en charge le TSVECTOR Type de données. Mais il n'y a pour l'instant aucune documentation que je puisse trouver, donc :

Déclarez-le :

sequelize.define('User', {
  myVector: { type: DataTypes.TSVECTOR },
  ...
})

Remplissez-le :

User.myVector = sequelize.fn('to_tsvector', 'My Content About Travel and Apparently Some Cures')

Utilisez-le dans une requête :

User.findAll({
  where: { 
    myVector: { [Op.match]: sequelize.fn('to_tsquery', 'Travel | Cure') }
  }
})

Explorez la demande d'extraction pour plus de détails :https://github.com/sequelize/sequelize/pull /12955