示例#1
0
        public bool OptimizeIndex(string indexName)
        {
            var response = _client.ForceMerge(
                Indices.Index(indexName),
                fmd => fmd
                .MaxNumSegments(1)
                .WaitForMerge(true)
                .Index(indexName)
                .RequestConfiguration(rcd => rcd.RequestTimeout(TimeSpan.FromSeconds(90)))
                );

            if (!response.IsValid)
            {
                throw new Exception("Error Optimizing index, " + indexName, response.OriginalException);
            }

            //An expected response has 1 shard that was successful.
            if (
                response.Shards.Total != 1 ||
                response.Shards.Successful != 1 ||
                response.Shards.Failed != 0
                )
            {
                throw new Exception("Error Optimizing index," + indexName + " optimize finished unexpected response");
            }

            return(true); //The task succeeded.
        }
示例#2
0
        public bool OptimizeIndex(string indexName)
        {
            var response = _client.ForceMerge(
                Indices.Index(indexName),
                fmd => fmd
                .MaxNumSegments(1)
                .WaitForMerge(true)
                .Index(indexName)
                .RequestConfiguration(rcd => rcd.RequestTimeout(TimeSpan.FromSeconds(90)))
                );

            if (!response.IsValid)
            {
                _logger.LogError("Error Optimizing index, '{0}'.", indexName);
                _logger.LogError("Returned debug info: {0}.", response.DebugInformation);
                throw new Exception("Error Optimizing index, " + indexName, response.OriginalException);
            }

            // An expected response has at least one shard and none that failed.
            if (
                response.Shards.Total < 1 ||
                response.Shards.Successful != response.Shards.Total ||
                response.Shards.Failed != 0
                )
            {
                _logger.LogError("Shard count: Total: {0}, Successful : {1}, Failed {2}",
                                 response.Shards.Total, response.Shards.Successful, response.Shards.Failed);
                throw new Exception("Error Optimizing index," + indexName + " optimize finished unexpected response");
            }

            return(true); //The task succeeded.
        }