示例#1
0
        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);
    }