Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs 菜单
Docs 主页
/ /

$text 查询操作符

注意

MongoDB提供改进的全文搜索解决方案,MongoDB Search,和语义搜索解决方案,MongoDB Vector Search。我们建议使用 $search$searchMeta$vectorSearch 阶段,而不是 $text操作符。

您可以在具有$text 文本索引 的集合上使用 操作符。

$text 使用空格和大多数标点符号作为分隔符对搜索字符串进行词元化,并对搜索字符串中的所有此类词元执行逻辑 OR

例如,您可以使用以下查询,在 stores 集合中查找包含列表“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" } } )

有关 $text$meta 操作符的更多信息,包括限制和行为,请参阅:

使用聚合管道时,请将$match$text表达式一起使用。要按相关性分数顺序对结果进行排序,请在 阶段使用$meta $sort聚合操作符。

有关更多信息和示例,请参阅聚合管道中的 $text。

MongoDB Search 提供 $search 聚合阶段来对集合执行全文搜索。

后退

执行 $text 查询

在此页面上