private ExamineIndexModel CreateModel(IIndex index) { var indexName = index.Name; if (!(index is IIndexDiagnostics indexDiag)) { indexDiag = new GenericIndexDiagnostics(index); } var isHealth = indexDiag.IsHealthy(); var properties = new Dictionary <string, object> { [nameof(IIndexDiagnostics.DocumentCount)] = indexDiag.DocumentCount, [nameof(IIndexDiagnostics.FieldCount)] = indexDiag.FieldCount, }; foreach (var 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) }; return(indexerModel); }
public virtual IIndexDiagnostics Create(IIndex index) { if (index is not IIndexDiagnostics indexDiag) { indexDiag = new GenericIndexDiagnostics(index); } return(indexDiag); }