gpt4 book ai didi

node.js - MongoDb 全文搜索和条件

转载 作者:可可西里 更新时间:2023-11-01 10:03:50 32 4
gpt4 key购买 nike

我尝试在 mongodb 中使用文本索引:{$text: {$search: 'sport hockey'}}

是使用 OR 条件按短语搜索:'sport' OR 'hockey'。例如,结果可以是以下标题列表:

  • 今天做点运动……
  • 运动是曲棍球
  • 曲棍球运动员

最相关的文档位于第二位(实际上我想排除除此以外的所有其他结果:'Sport is hockey')。是否可以在 $text 中使用 AND 条件?

引号不合适,因为 {$text: {$search: "\"sport hockey\""}} 使用完全匹配搜索。

最佳答案

尝试在您的输出中包含 textScore,然后对其进行排序以获得最相关的文档(可选地使用 limit 来获取前 n 个相关文档)。

db.your_collection.find(
{
$text: { $search: "sport hockey" }
}, {
score: { $meta: "textScore" }
}
).sort(
{
score: { $meta: "textScore" }
}
).limit(2)

关于node.js - MongoDb 全文搜索和条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29536523/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com