使用 Sequelize (Postgres) 的全文搜索
Fulltext search using Sequelize (Postgres)
所以我使用 sequelize
已经有一段时间了,在尝试使用 elasticsearch
之后,我决定利用 postgres's
对 fts
的支持.
看起来就在今年年初 sequelize
添加了对 TSVector
的支持,这是 FTS
实施所必需的。尽管我在任何地方都找不到任何文档。
感谢所有帮助!
如果您查看 PR 的更改,您将看到新的运算符 Op.match
和新的数据类型 DateTypes.TSVECTOR
。
您现在可以在模型中定义这样的字段:
...
textField: {
type: DataTypes.TSVECTOR
}
...
你可以像这样在 where
选项中使用它:
textField: {
[Op.match]: Sequelize.fn('to_tsquery', 'fat & rat') // match text search for strings 'fat' and 'rat' (PG only)
}
所以我使用 sequelize
已经有一段时间了,在尝试使用 elasticsearch
之后,我决定利用 postgres's
对 fts
的支持.
看起来就在今年年初 sequelize
添加了对 TSVector
的支持,这是 FTS
实施所必需的。尽管我在任何地方都找不到任何文档。
感谢所有帮助!
如果您查看 PR 的更改,您将看到新的运算符 Op.match
和新的数据类型 DateTypes.TSVECTOR
。
您现在可以在模型中定义这样的字段:
...
textField: {
type: DataTypes.TSVECTOR
}
...
你可以像这样在 where
选项中使用它:
textField: {
[Op.match]: Sequelize.fn('to_tsquery', 'fat & rat') // match text search for strings 'fat' and 'rat' (PG only)
}