文本索引操作

在本页面

[success] Note

视图不支持文本搜索。

查询框架

使用$text查询操作符对具有文本索引的集合执行文本搜索。

$text将使用空格和大多数标点作为分隔符对搜索字符串进行标记,并在搜索字符串中对所有这些标记执行逻辑或操作。

例如,您可以使用以下查询来查找包含“coffee”、“shop”和“java”列表中任何术语的所有商店:

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

使用$meta查询操作符获取每个匹配文档的相关性分数并进行排序。例如,要按相关性排序一份coffee shops 列表,运行以下命令:

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

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

聚合框架

在使用聚合框架时,使用$match$text 表达式来执行文本搜索查询。要按照相关性评分对结果排序,请在$sort 阶段使用$meta聚合操作符

有关聚合框架中文本搜索的更多信息和示例,请参见聚合管道中的文本搜索.。

译者:杨帅

校对:杨帅

最后更新于