

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 索引属性：部分 FilterExpression
<a name="index-property-partialfilterexpression"></a>

## 支持的索引类型
<a name="index-property-partialfilterexpression-supported"></a>


| Option | 3.6 | 4.0 | 5.0 | 8.0 | 弹性集群 | 
| --- | --- | --- | --- | --- | --- | 
| 单字段 | 否 | 否 | 是 | 是 | 否 | 
| 复合排序 | 否 | 否 | 是 | 是 | 否 | 
| 多键 | 否 | 否 | 是 | 是 | 否 | 
| 地理空间 | 否 | 否 | 否 | 否 | 否 | 

使用 partial FilterExpression 选项创建仅包含满足指定筛选条件的文档的部分索引。这使您可以通过仅索引集合中的一部分文档来创建更高效的索引，而不是为所有文档编制索引，从而减少索引大小并节省内存空间。由于索引大小较小，因此使用它的查询效率更高。Amazon DocumentDB 将在以下情况下使用部分索引：
+ 查询谓词与部分索引筛选表达式完全匹配。
+ 查询筛选器的预期结果是部分过滤器的逻辑子集。
+ 查询的子谓词可以与其他索引一起使用。

有关更多信息，请参阅 [部分索引](partial-index.md)。

## 示例
<a name="index-property-partialfilterexpression-examples"></a>

以下示例说明如何在以下示例文档上创建部分索引：

```
{
  "productId": "PROD133726",
  "sku": "SKU24224",
  "name": "Basic Printer",
  "manufacturer": "The Manufacturer",
  "tags": [ "printer", "basic", "electronics", "business" ],
  "barcodes": [ "542364671", "886330670", "437445606" ],
  "reviews": [
    {
      "review_date": ISODate('2024-01-19T21:37:10.585Z'),
      ...
    }
  ],
  "material": "Polycarbonate",
  "color": "Space Gray",
  "supplier": {
    "supplierId": "SUP4",
    "location": {
      "type": "Point",
      "coordinates": [ -71.0589, 42.3601 ]
    }
  },
  "productEmbedding": [
    -0.019320633663838058,
    0.019672111388113596
  ],
  "lastUpdated": ISODate('2025-10-20T21:37:10.585Z')
}
```

单字段

为深空灰色的商品创建制造商的部分单字段索引：

```
db.collection.createIndex(
  {
    "manufacturer": 1
  },
  {
    "name": "manufacturer_space_gray",
    "partialFilterExpression": {
      "color": {
        $eq: "Space Gray"
      }
    }
  }
)
```

在按制造商查找深空灰色产品时，将使用此索引：

```
db.collection.find({
  "manufacturer": "The Manufacturer",
  "color": {
    $eq: "Space Gray"
  }
})
```

化合物

为含有聚碳酸酯材料的商品创建制造商和颜色的部分化合物指数：

```
db.collection.createIndex(
  {
    "manufacturer": 1,
    "color": 1
  },
  {
    "name": "manufacturer_and_color_polycarbonate",
    "partialFilterExpression": {
      "material": {
        $eq: "Polycarbonate"
      }
    }
  }
)
```

在按制造商和颜色查找聚碳酸酯材料产品时，将使用此索引：

```
db.collection.find({
  "manufacturer": "The Manufacturer",
  "color": "Space Gray",
  "material": {
    $eq: "Polycarbonate"
  }
})
```

多键

为制造商为 “制造商” 的商品在标签上创建部分多键索引：

```
db.collection.createIndex(
  {
    "tags": 1
  },
  {
    "name": "tags_the_manufacturer",
    "partialFilterExpression": {
      "manufacturer": {
        $eq: "The Manufacturer"
      }
    }
  }
)
```

在查找带有打印机标签且制造商为 “制造商” 的产品时，将使用此索引：

```
db.collection.find({
  "tags": "printer",
  "manufacturer": {
    $eq: "The Manufacturer"
  }
})
```