文档首页 → 开发应用程序 → Python 驱动 → PyMongo
文本索引
概述
文本索引 支持对字符串内容的文本搜索查询。这些索引可以包含任何值是字符串或字符串元素数组的字段。MongoDB 支持多种语言的文本搜索。您可以在创建索引时指定默认语言作为选项。
提示
MongoDB 提供了改进的全文搜索解决方案,Atlas Search. 要了解有关 Atlas Search 索引及其使用方法的更多信息,请参阅 Atlas Search 索引 指南。
示例数据
本指南中的示例使用sample_mflix.movies
集合来自Atlas 示例数据集。要了解如何创建免费的 MongoDB Atlas 集群并加载示例数据集,请参阅PyMongo 入门。
单个字段的文本索引
以下示例在 plot
字段上创建文本索引
movies.create_index( [( "plot", "text" )] )
以下是一个使用前面代码示例中创建的索引的查询示例
query = { "$text": { "$search": "a time-traveling DeLorean" } } cursor = movies.find(query)
多个字段的文本索引
集合只能包含一个文本索引。如果您想要为多个文本字段创建文本索引,请创建一个组合索引。文本搜索将在组合索引中的所有文本字段上运行。
以下示例为 title
和 genre
字段创建组合文本索引
result = myColl.create_index( [("title", "text"), ("genre", "text")], default_language="english", weights={ "title": 10, "genre": 3 } )
地理空间索引 →