This tutorial describes how to create indexes to limit the number of index entries scanned for queries that includes a 本教程介绍如何创建索引,以限制针对包含$text
expression and equality conditions.$text
表达式和相等条件的查询扫描的索引项的数量。
A collection inventory
contains the following documents:inventory
集合包含以下文档:
Consider the common use case that performs text searches by individual departments, such as:考虑个别部门执行文本搜索的常用情况,例如:
To limit the text search to scan only those documents within a specific dept
, create a compound index that first specifies an ascending/descending index key on the field dept
and then a text
index key on the field description
:
Then, the text search within a particular department will limit the scan of indexed documents. 然后,特定部门内的文本搜索将限制索引文档的扫描。For example, the following query scans only those documents with 例如,以下查询仅扫描dept
equal to kitchen
:dept
等于kitchen
的文档:
Note
text
index cannot include any other special index types, such as multi-key or geospatial index fields.text
index includes keys preceding the text
index key, to perform a $text
search, the query predicate must include equality match conditions on the preceding keys.text
index, all text
index keys must be listed adjacently in the index specification document.See also参阅