【问题标题】:Search with AND operator in MongoDB using $text query operator使用 $text 查询运算符在 MongoDB 中使用 AND 运算符进行搜索
【发布时间】:2021-11-25 21:54:40
【问题描述】:

我已经在 MongoDB 中有文本索引。

简单搜索:

db.news.find({ $text: { $search: "covid" } })

我得到所有文本中包含 covid 的文章。

现在我想获取所有同时包含 covid 疫苗接种的文章。

例如这个查询...

db.news.find({ $text: { $search: "\"covid vaccination\"" } })

...只会按顺序并排查找包含 “covid 疫苗接种” 的文章。 换句话说,这样结构的文章:“疫苗接种...” 将找不到。

我想使用文本索引查找文章中包含 covidvaccination 的所有文章,无论每个单词的位置如何。有什么想法吗?

【问题讨论】:

    标签: mongodb mongodb-query nosql mongodb-indexes


    【解决方案1】:

    我重新检查了 MongoDB 文档,但没有找到方法。可能这会有所帮助:

    db.news.find({$text: {$search: "covid vaccination"}}).sort({score: {$meta: "textScore"}})
    

    它不会得到所需的结果,但至少,结果会按分数排序。包含“covid”和“vaccination”的记录应该在顶部

    【讨论】:

    • 它的功能就像在单词之间有一个 OR 运算符。我收到了所有新冠病毒文章和所有疫苗接种文章。
    • 对不起,我的错。我更新了我的评论,至少尝试帮助您找到解决方案
    • 离最终目标又近了一步。谢谢你:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-14
    • 1970-01-01
    • 2020-05-12
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    相关资源
    最近更新 更多