文档菜单
文档首页
/ / /
PyMongo
/ /

文本索引

本页内容

  • 概述
  • 示例数据
  • 单个字段的文本索引
  • 多个字段的文本索引

文本索引 支持对字符串内容的文本搜索查询。这些索引可以包括任何值是字符串或字符串元素数组的字段。MongoDB 支持多种语言的文本搜索。您可以在创建索引时指定默认语言作为选项。

提示

MongoDB 提供了改进的全文搜索解决方案,Atlas Search。有关 Atlas Search 索引及其使用方法的更多信息,请参阅Atlas Search 和向量搜索索引指南。

本指南中的示例使用来自 Atlas 示例数据集sample_mflix.movies 集合。有关创建免费 MongoDB Atlas 集群和加载数据集的说明,请参阅 PyMongo 入门

以下示例在plot字段上创建文本索引

movies.create_index(
[( "plot", "text" )]
)

以下是一个使用前一个代码示例中创建的索引的查询示例

query = { "$text": { "$search": "a time-traveling DeLorean" } }
cursor = movies.find(query)

一个集合只能包含一个文本索引。如果需要为多个文本字段创建文本索引,请创建复合索引。文本搜索将在复合索引中的所有文本字段上运行。

以下示例为titlegenre字段创建复合文本索引

result = myColl.create_index(
[("title", "text"), ("genre", "text")],
default_language="english",
weights={ "title": 10, "genre": 3 }
)

有关更多信息,请参阅MongoDB服务器手册中的复合文本索引限制文本索引

返回

Atlas & 向量搜索