private ExamineIndexModel CreateModel(IIndex index)
    {
        var indexName = index.Name;

        IIndexDiagnostics indexDiag = _indexDiagnosticsFactory.Create(index);

        Attempt <string?> isHealth = indexDiag.IsHealthy();

        var properties = new Dictionary <string, object?>
        {
            ["DocumentCount"] = indexDiag.GetDocumentCount(),
            ["FieldCount"]    = indexDiag.GetFieldNames().Count()
        };

        foreach (KeyValuePair <string, object?> p in indexDiag.Metadata)
        {
            properties[p.Key] = p.Value;
        }

        var indexerModel = new ExamineIndexModel
        {
            Name               = indexName,
            HealthStatus       = isHealth.Success ? isHealth.Result ?? "Healthy" : isHealth.Result ?? "Unhealthy",
            ProviderProperties = properties,
            CanRebuild         = _indexRebuilder.CanRebuild(index.Name)
        };

        return(indexerModel);
    }