无法使用 typeORM 函数加入 FREETEXTTABLE

Can't join FREETEXTTABLE with typeORM functions

我正在使用 TypeORM 开发 graphQL 后端 我在 SQL 数据库中找到了用于全文搜索的 FREETEXT、CONTAiNS、FREETEXTTABLE 和 CONTAINSTABLE 选项。 由于 FREETEXTTABLE 有一个“RANK”列,它更有用,我正在使用这个选项。 我向数据库添加了所需的设置,并通过下面的查询将查询直接应用于数据库时它工作正常:

SELECT * FROM content
INNER JOIN freetexttable( content , *, 'test text') newtable ON newtable.[KEY] = "id"
ORDER BY newtable.RANK desc 
OFFSET 0 ROWS FETCH NEXT 12 ROWS ONLY

但是当我尝试将它与如下所示的 TypeORM 一起使用时,我遇到了一些错误。

import { getRepository } from "typeorm";

let repo = getRepository(Content)

return repo.createQueryBuilder("qb")
.innerJoin(FREETEXTTABLE( qb , *, 'light'), newtable,newtable.[KEY] = qb.id)
.skip(0)
.take(12)
.getManyAndCount();

它 returns 这个错误:

"Error: Invalid object name 'FREETEXTTABLE( qb , *, 'light')'."

如果我的代码有问题,您能否告诉我,或者您知道在 SQL 数据库中进行全文搜索的更好选择

我正在搜索相同的问题。我找不到将 FREETEXTTABLE 与 typeorm 一起使用的解决方案,因此我不得不使用原始 SQL 来实现它。使用下面的代码

repo.query(" RAW SQL ")