MongoDB CRUD操作: 文本搜索操作符

文章目录

  • MongoDB CRUD操作: 文本搜索操作符
    • 查询框架
    • 聚合管道

查询框架

使用$text查询操作符可在具有文本索引的集合上执行文本搜索,$text使用空白和大部分标点符号作为分隔符,对搜索字符串进行标记化处理,并对搜索字符串中的所有此类标记执行逻辑OR。例如:可以使用下面的查询来查找store集合中包含”coffee”、”shop”或 “java”字符串的文档:

db.stores.find( { $text: { $search: "java coffee shop" } } )

使用$meta查询操作符获取每个匹配文档的相关性得分并进行排序。例如,要按相关性咖啡店列表进行排序,可执行以下操作:

db.stores.find(
   { $text: { $search: "coffee shop cake" } },
   { score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )

聚合管道

使用聚合管道时,可使用$match$text表达式执行文本搜索查询,如果要按相关性得分对结果进行排序,可在$sort阶段使用$meta聚合操作符。

对于托管在 MongoDB Atlas 上的数据,Atlas Search 提供了$search聚合阶段,可对集合执行全文检索。

本站无任何商业行为
个人在线分享 » MongoDB CRUD操作: 文本搜索操作符
E-->