private void UpdateMappings(IList <LanguageBranch> languages, string indexName = null) { // Update mappings foreach (var language in languages.Select(l => l.LanguageID)) { try { if (String.IsNullOrWhiteSpace(indexName)) { indexName = _settings.GetDefaultIndexName(language); } else { indexName = _settings.GetCustomIndexName(indexName, language); } _logger.Debug("Index: " + indexName); var indexing = new Indexing(_settings); if (!indexing.IndexExists(indexName)) { throw new Exception("Index does not exist"); } OnStatusChanged("Updating mapping for index " + indexName); _coreIndexer.UpdateMapping(typeof(IndexItem), typeof(IndexItem), indexName); ContentExtensions.CreateAnalyzedMappingsIfNeeded(typeof(IndexItem), language, indexName); ContentExtensions.CreateDidYouMeanMappingsIfNeeded(typeof(IndexItem), language, indexName); } catch (Exception ex) { _logger.Warning("Uh oh...", ex); } } }
private void UpdateMappings(IEnumerable <LanguageBranch> languages, Type[] contentTypes) { foreach (var language in languages.Select(l => l.LanguageID)) { try { var indexName = GetIndexName(language); _logger.Debug("Index: " + indexName); OnStatusChanged("Updating mapping for index " + indexName); foreach (var type in contentTypes) { _coreIndexer.UpdateMapping(type, typeof(IndexItem), indexName); ContentExtensions.CreateAnalyzedMappingsIfNeeded(type, language, indexName); ContentExtensions.CreateDidYouMeanMappingsIfNeeded(type, language, indexName); } } catch (Exception ex) { _logger.Warning("Failed to update mappings", ex); } } }