protected virtual Config InitConfig <Config>(string path, string configPath)
            where Config : AzureSearchConfig
        {
            var config = JsonConvert.DeserializeObject <Config>(File.ReadAllText(Path.Combine(path, configPath)));

            _config = config;
            return(config);
        }
        public void SaveConfiguration(AzureSearchConfig config)
        {
            _config = config;
            var serializerSettings = GetSerializationSettings(config);

            serializerSettings.DefaultValueHandling = DefaultValueHandling.Ignore;

            File.WriteAllText(Path.Combine(_path, @"config\AzureSearch.config"), JsonConvert.SerializeObject(config, Formatting.Indented, serializerSettings));
        }
        public static SearchServiceClient GetClient(AzureSearchConfig config = null)
        {
            var serviceName = config != null ? config.SearchServiceName : "name";
            var apiKey      = config != null ? config.SearchServiceAdminApiKey : "apikey";

            var serviceClient = new SearchServiceClient(serviceName, new SearchCredentials(apiKey));

            return(serviceClient);
        }
Beispiel #4
0
        public static IAzureSearch CreateInstance(AzureSearchConfig config, ILog logger)
        {
            if (config == null)
            {
                throw new NullReferenceException();
            }

            return(new AzureSearchService(config, logger));
        }
        public SearchServiceClient GetClient(AzureSearchConfig config)
        {
            var profiler = MiniProfiler.Current;

            using (profiler.Step($"Calling GetClient"))
            {
                var serviceClient = new SearchServiceClient(config.SearchServiceName, new SearchCredentials(config.SearchServiceAdminApiKey));
                return(serviceClient);
            }
        }
 public AzureSearchService(AzureSearchConfig config, ILog logger)
 {
     if (config == null || logger == null)
     {
         throw new NullReferenceException();
     }
     _config = config;
     _logger = logger;
     _client = new SearchServiceClient(_config.Name, new SearchCredentials(_config.AdminKey));
 }
        public BaseAzureSearch(string path)
        {
            _path = path;

            var deserializationSettings = GetClient().DeserializationSettings;

            var configData = File.ReadAllText(Path.Combine(path, @"config\AzureSearch.config"));

            _config = JsonConvert.DeserializeObject <AzureSearchConfig>(configData, deserializationSettings);
        }
        public void ReIndexContent(IMedia content, string eventArgsSource = null)
        {
            AzureSearchConfig config   = GetConfiguration();
            Document          document = FromUmbracoMedia(content, config.SearchFields, eventArgsSource);

            if (document != null)
            {
                List <Document> documents = new List <Document>()
                {
                    document
                };
                IndexContentBatch(documents);
            }
        }
Beispiel #9
0
        public void ReIndexMember(IMember content)
        {
            AzureSearchConfig config   = GetConfiguration();
            Document          document = FromUmbracoMember(content, config.SearchFields);

            if (document != null)
            {
                List <Document> documents = new List <Document>()
                {
                    document
                };
                IndexContentBatch(documents);
            }
        }
        public string GetTestConfig()
        {
            AzureSearchConfig config = _azureSearchServiceClient.GetConfiguration();

            int indexCount = 0;

            try
            {
                var serviceClient = new SearchServiceClient(config.SearchServiceName, new SearchCredentials(config.SearchServiceAdminApiKey));
                var indexes       = serviceClient.Indexes.List();
                indexCount = indexes.Indexes.Count;
            }
            catch (Exception ex)
            {
                return("Cannot connect: " + ex.Message);
            }

            return("Connected and got " + indexCount + " indexes");
        }
Beispiel #11
0
        private void SetCustomFieldParsers(AzureSearchConfig azureSearchConfig)
        {
            if (azureSearchConfig.SearchFields != null)
            {
                var types = azureSearchConfig.SearchFields.Where(x => x.IsComputedField()).Select(x => x.ParserType).Distinct().ToArray();

                foreach (var t in types)
                {
                    var parser = Activator.CreateInstance(Type.GetType(t));

                    if (!(parser is IComputedFieldParser))
                    {
                        throw new Exception(string.Format("Type {0} does not implement {1}", t, typeof(IComputedFieldParser).Name));
                    }

                    Parsers.Add(t, (IComputedFieldParser)parser);
                }
            }
        }
        private bool IsIgnored(IContent content, AzureSearchConfig config)
        {
            try
            {
                foreach (var id in config.FoldersToIgnoreArray)
                {
                    foreach (var pathId in content.Path.Split(','))
                    {
                        if (pathId == id)
                        {
                            return(true);
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                _logger.Debug(exception);
            }

            return(false);
        }
 public static JsonSerializerSettings GetSerializationSettings(AzureSearchConfig config = null)
 {
     return(GetClient(config).SerializationSettings);
 }
Beispiel #14
0
        public AzureSearchConfig SetConfiguration(AzureSearchConfig config)
        {
            _azureSearchServiceClient.SaveConfiguration(config);

            return(_azureSearchServiceClient.GetConfiguration());
        }
 public BaseAzureSearch(string path)
 {
     _path   = path;
     _config = JsonConvert.DeserializeObject <AzureSearchConfig>(File.ReadAllText(Path.Combine(path, @"config\AzureSearch.config")));
 }
 public void SaveConfiguration(AzureSearchConfig config)
 {
     _config = config;
     File.WriteAllText(Path.Combine(_path, _configPath), JsonConvert.SerializeObject(config, Formatting.Indented));
 }
Beispiel #17
0
 public ActionResult Index()
 {
     return(View(AzureSearchConfig.ReadSampleData()));
 }