最后更新于
最后更新于
在本页面
MONGODB ATLAS搜索
可以很容易地在MongoDB数据上构建快速、基于相关性的搜索功能。今天就在,上试试吧,我们的完全托管数据库是一种服务。
MongoDB支持执行字符串内容的文本搜索的查询操作。 为了执行文本搜索,MongoDB使用文本索引和运算符。
[success] Note
视图不支持文本搜索
此示例演示了如何在仅指定文本字段的情况下构建文本索引并使用它来coffee shops。
使用以下文档创建一个集合存储:
要执行文本搜索查询,您必须在集合上有一个文本索引。一个集合只能有一个文本搜索索引,但是该索引可以覆盖多个字段。
例如,您可以使用以下查询来查找包含“coffee”、“shop”和“java”列表中任何术语的所有商店:
您还可以通过将短语包装在双引号中来搜索精确的短语。如果**$search**字符串包含一个短语和单个术语,文本搜索将只匹配包含该短语的文档。
例如,以下将查找包含“coffee shop”的所有文档:
要排除一个单词,可以在前面加上一个“-”字符。例如,要查找所有包含“java”或“shop”但不包含“coffee”的商店,请使用以下方法:
默认情况下,MongoDB将以无序的顺序返回结果。但是,文本搜索查询将为每个文档计算一个相关性分数,该分数指定文档与查询的匹配程度。
文本搜索也可以在聚合管道中使用。
译者:杨帅
校对:杨帅
MongoDB提供了来支持对字符串内容的文本搜索查询。文本索引可以包含值为字符串或字符串元素数组的任何字段。
例如,您可以在 shell中运行以下命令,以允许在名称和描述字段中进行文本搜索:
使用查询操作符对具有文本索引的集合执行。
将使用空格和大多数标点作为分隔符对搜索字符串进行标记,并在搜索字符串中对所有这些标记执行逻辑或操作。
更多信息参见:请看.
为了排序的结果在相关性分数的顺序,你必须明确项目 textScore字段和排序:
MongoDB支持多种语言的文本搜索。 有关支持的语言列表,请参见。