Docs 菜单
Docs 主页
/ / /
PHP 库手册
/ /

MongoDB\Collection::createSearchIndexes()

在此页面上

  • 定义
  • 参数
  • Return Values
  • 错误/异常
  • 行为
  • 示例
  • 另请参阅

1.17 版本中的新增功能

MongoDB\Collection::createSearchIndexes()

为collection创建一个或多个 Atlas Search 搜索索引。

function createSearchIndexes(
array $indexes,
array $options = []
): string

此命令只能在托管在 MongoDB Atlas上的部署上运行,并且需要至少 M 10的 Atlas 集群层。 本地 Atlas 部署也可用于开发。

$indexes : array

描述要创建的索引的文档数组。

必填的definition文档字段描述了要创建的索引。 有关定义语法的详细信息,请参阅Atlas Search索引定义语法。

可选的name字符串字段指定要创建的搜索索引的名称。 不能在单个collection上创建多个同名索引。如果不指定名称,则索引名为“default”。

$options : array

指定所需选项的数组。

名称
类型
说明

comment

混合

使用户可以指定任意注释来帮助通过数据库分析器currentOp 输出和日志来跟踪操作。

以字符串数组形式表示的已创建 Atlas Search 索引的名称。

MongoDB\Exception\UnsupportedException,如果所选服务器使用了选项但不支持选项(例如collationreadConcernwriteConcern)。

MongoDB\Exception\InvalidArgumentException 用于与参数或选项解析相关的错误。

MongoDB\ 驱动程序\Exception\RuntimeException 对于扩展级别的其他错误(例如连接错误)。

Atlas Search索引是异步托管的。 创建或更新索引后,您可以定期执行MongoDB\Collection::listSearchIndexes()并检查queryable输出字段,以确定是否可以使用。

以下示例使用动态映射创建 Atlas Search 索引,为包含受支持数据类型的所有文档字段编制索引。

<?php
$collection = (new MongoDB\Client)->selectCollection('test', 'articles');
$indexNames = $collection->createSearchIndexes(
[
[
'name' => 'test-search-index',
'definition' => ['mappings' => ['dynamic' => true]],
],
]
);
var_dump($indexNames);

而输出将类似如下所示:

array(1) {
[0]=>
string(17) "test-search-index"
}

后退

createSearchIndex()