【发布时间】:2021-09-01 02:32:56
【问题描述】:
有一些方法可以使用 Postgres 和 TypeOrm 处理全文搜索。我看过一些例子,但它们只适用于 Mysql。除了使用 Postgresql 外,我怎样才能获得与此等价的功能?
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: string;
@Index({ fulltext: true })
@Column("varchar")
name: string;
}
并使用查询构建器:
const searchTerm = "John";
const result = await connection.manager.getRepository(User)
.createQueryBuilder()
.select()
.where(`MATCH(name) AGAINST ('${searchTerm}' IN BOOLEAN MODE)`)
.getMany();
【问题讨论】:
-
"有一些方法可以使用 Postgres 和 TypeOrm 处理全文搜索" - 你怎么知道的?是的,
MATCH(name) AGAINST ('${searchTerm}' IN BOOLEAN MODE)绝对是 MySQL 特有的语法(也是一种 sql 注入)。 -
这个问题对我来说毫无意义,因为我对 TypeOrm 很陌生,我需要一个更完整的例子,比如问题中的那个。谢谢!
标签: postgresql typeorm