예제 #1
0
        public DataSet Get(string name)
        {
            var props            = queryFactory.GetIndexQuery(name).GetProperties(name);
            var dataSetIndexName = GlobalStore.DataSets.Get(name).IndexName;

            if (!props.ContainsKey(name))
            {
                // TODO: Invalid DataSet creation at CreateIndex
            }

            var dataSet = Convert(name, props[dataSetIndexName], (int)queryFactory.GetDocumentQuery(name).CountAll());

            return(dataSet);
        }
예제 #2
0
        private void UpdateDataSets()
        {
            foreach (var indexName in GetIndexes())
            {
                var elasticClient = clientFactory.GetClient(indexName);
                var hits          = queryFactory.GetIndexQuery(indexName).GetPropertiesHit(indexName);

                if (!hits.ContainsKey(indexName))
                {
                    logger.LogCritical($"The dataset {indexName} is in inconsistent state!");
                    continue;
                }

                var propertiesElastic = hits[indexName].Source;

#pragma warning disable CS0618 // Type or member is obsolete
                if (propertiesElastic.DBVersion < Constants.DBVersion)
#pragma warning restore CS0618 // Type or member is obsolete
                {
                    logger.LogInformation("Elasticsearch database is not at the latest version");

                    // Update from 1 -> 2
#pragma warning disable CS0618 // Type or member is obsolete
                    if (propertiesElastic.DBVersion == 1)
#pragma warning restore CS0618 // Type or member is obsolete
                    {
#pragma warning disable CS0618 // Type or member is obsolete
                        logger.LogInformation($"Updating from version {propertiesElastic.DBVersion}...");
#pragma warning restore CS0618 // Type or member is obsolete
                        propertiesElastic.Name = string.Empty;
#pragma warning disable CS0618 // Type or member is obsolete
                        propertiesElastic.DBVersion = 2;
#pragma warning restore CS0618 // Type or member is obsolete

                        elasticClient.Index(propertiesElastic, desc => desc.Id(hits[indexName].Id));
                        elasticClient.Flush(indexName);

#pragma warning disable CS0618 // Type or member is obsolete
                        logger.LogInformation($"Updated to version {propertiesElastic.DBVersion} successfully");
#pragma warning restore CS0618 // Type or member is obsolete
                    }
                }
            }
        }