ArcGIS Pro 3.2 API Reference Guide
ArcGIS.Core.Data.DDL Namespace / SchemaBuilder Class / Create Method / Create(IndexDescription) Method
Indicates the ArcGIS.Core.Data.Index to be created.
Example Version

    Create(IndexDescription) Method
    Enqueue the create operation on the object referred to by the IndexDescription.
    Syntax
    public void Create( 
       IndexDescription indexDescription
    )

    Parameters

    indexDescription
    Indicates the ArcGIS.Core.Data.Index to be created.
    Exceptions
    Example
    Creating a table with index from scratch
    public void CreatingTableWithIndex(SchemaBuilder schemaBuilder)
    {
      FieldDescription nameFieldDescription = FieldDescription.CreateStringField("Name", 50);
      FieldDescription addressFieldDescription = FieldDescription.CreateStringField("Address", 200);
    
      // Creating a feature class, 'Buildings' with two fields
      TableDescription tableDescription = new TableDescription("Buildings", new List<FieldDescription>() { nameFieldDescription, addressFieldDescription });
    
      // Enqueue DDL operation to create a table
      TableToken tableToken = schemaBuilder.Create(tableDescription);
    
      // Creating an attribute index named as 'Idx'
      AttributeIndexDescription attributeIndexDescription = new AttributeIndexDescription("Idx", new TableDescription(tableToken),
        new List<string> { nameFieldDescription.Name, addressFieldDescription.Name });
    
      // Enqueue DDL operation to create an attribute index
      schemaBuilder.Create(attributeIndexDescription);
    
      // Execute build indexes operation
      bool isBuildSuccess = schemaBuilder.Build();
    }
    Adding indexes in pre-existing dataset
    public void AddingIndexes(SchemaBuilder schemaBuilder, FeatureClassDefinition featureClassDefinition)
    {
      // Field names to add in the attribute index
      string fieldName = featureClassDefinition.GetFields().First(f => f.AliasName.Contains("Name")).Name;
      string fieldAddress = featureClassDefinition.GetFields().First(f => f.AliasName.Contains("Address")).Name;
    
      // Creating an attribute index with index name 'Idx' and two participating fields' name
      AttributeIndexDescription attributeIndexDescription = new AttributeIndexDescription("Idx", new TableDescription(featureClassDefinition), new List<string> { fieldName, fieldAddress });
    
      // Enqueue DDL operation for an attribute index creation 
      schemaBuilder.Create(attributeIndexDescription);
    
      // Creating the spatial index 
      SpatialIndexDescription spatialIndexDescription = new SpatialIndexDescription(new FeatureClassDescription(featureClassDefinition));
    
      // Enqueue DDL operation for the spatial index creation
      schemaBuilder.Create(spatialIndexDescription);
    
      // Execute build indexes operation
      bool isBuildSuccess = schemaBuilder.Build();
    
      if (!isBuildSuccess)
      {
        IReadOnlyList<string> errors = schemaBuilder.ErrorMessages;
        // Iterate and handle errors 
      }
    }
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.1 or higher.
    See Also