PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come implementare PostgresQL tsvector per la ricerca full-text usando Sequelize?

Sequelize versione 6.5.0+ ha il supporto per TSVECTOR tipo di dati. Ma non c'è ancora documentazione da nessuna parte che posso trovare, quindi:

Dichiaralo:

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

Compilalo:

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

Usalo in una query:

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

Esplora la richiesta pull per maggiori dettagli:https://github.com/sequelize/sequelize/pull /12955