【问题标题】:typeorm mongo full text search - sort with $meta: "textScore"typeorm mongo 全文搜索 - 使用 $meta: "textScore" 排序
【发布时间】:2020-12-18 15:57:45
【问题描述】:

我正在使用 typeorm 连接 mongodb, typeorm 是否支持对全文搜索 mongodb 的相关分数返回排序? 就像描述的here

来自 mongo,我想查询如下:

db.todos.find( {$text: { $search: "coffee" }}, {score: { "$meta": "textScore" }}) .sort({score: { "$meta": "textScore" }}) .limit(20);

如何从 typeorm 查询 MongoRepository? 谢谢。

【问题讨论】:

  • 抱歉,我无法理解您想要达到的目标。您想按 score 值对返回的值进行排序吗?用简单的语言解释你想从 TypeORM 中得到什么,以便我们为你提供帮助:)
  • 是的,我想使用 typeorm 根据分数对返回值进行排序

标签: mongodb full-text-search typeorm


【解决方案1】:

我已经测试了以下代码并且它可以工作:

await todoRepository.find({
  where: {
    $text: { $search: 'search query here' },
  },
  take: 20
});

附注您需要确保 Todo 集合中的某个字段具有文本索引。

我不确定按score 排序是否与 TypeORM 一起正常工作。到目前为止,我还没有取得任何成功。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多