Docs 菜单
Docs 主页
/ / /
pymongo
/ /

Text Indexes

在此页面上

  • Overview
  • 样本数据
  • 单个字段上的文本索引
  • 多个字段上的文本索引

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

提示

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

本指南中的示例使用Atlas 样本数据集中 sample_mflix.movies集合。 要了解如何创建免费的MongoDB Atlas cluster并加载样本数据集,请参阅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 Server手册中的复合文本索引限制文本索引

后退

Atlas Search和 Vector Search 索引