예제 #1
0
        public void ReIndex(List <string> toReIndex, int tenant)
        {
            var allItems = FactoryIndexer.Builder.Resolve <IEnumerable <Wrapper> >().ToList();
            var tasks    = new List <Task>(toReIndex.Count);

            foreach (var item in toReIndex)
            {
                var index = allItems.FirstOrDefault(r => r.IndexName == item);
                if (index == null)
                {
                    continue;
                }

                var generic  = typeof(BaseIndexer <>);
                var instance = (IIndexer)Activator.CreateInstance(generic.MakeGenericType(index.GetType()), index);
                tasks.Add(instance.ReIndex());
            }

            Task.WhenAll(tasks).ContinueWith(r =>
            {
                CoreContext.TenantManager.SetCurrentTenant(tenant);
                SearchSettings.Load().ClearCache();
            });
        }
예제 #2
0
 public static bool CanSearchByContent()
 {
     return(SearchSettings.Load().CanSearchByContent <T>());
 }