protected override SitecoreIndexableItem GetIndexable(IIndexableUniqueId indexableUniqueId)
        {
            try
            {
                using (new SecurityDisabler())
                {
                    using (new WriteCachesDisabler())
                    {
                        var item = Sitecore.Data.Database.GetItem(indexableUniqueId as SitecoreItemUniqueId);

                        if (item == null)
                        {
                            return(base.GetIndexable(indexableUniqueId));
                        }

                        if (item.Axes.GetAncestors()
                            .Any(i => i.TemplateID == ID.Parse("{92FB62D4-A2CB-4B57-AE48-22D0189439C5}")))
                        {
                            return(new FaceIndexableItem(item));
                        }
                    }
                }
                return(base.GetIndexable(indexableUniqueId));
            }
            catch (Exception e)
            {
                Log.Info(e.ToString(), this);
                return(base.GetIndexable(indexableUniqueId));
            }
        }
Esempio n. 2
0
 protected override SitecoreIndexableItem GetIndexable(IIndexableUniqueId indexableUniqueId)
 {
     using (new SecurityDisabler())
     {
         using (new WriteCachesDisabler())
             return(Sitecore.Data.Database.GetItem((indexableUniqueId as SitecoreItemUniqueId)));
     }
 }
Esempio n. 3
0
 public void Delete(IIndexableUniqueId id)
 {
     Assert.ArgumentNotNull(id, "id");
     //_esClient.DeleteByQuery()
     //_esClient.DeleteById(id.ToString(), new DeleteParameters {OpType = OpType.None, Refresh = true});
     //_solr.Delete(_index.Configuration.IndexFieldStorageValueFormatter.FormatValueForIndexStorage(id).ToString());
     _commitPolicyExecutor.IndexModified(this, IndexOperation.Delete);
 }
Esempio n. 4
0
        protected override IndexableImage GetIndexable(IIndexableUniqueId indexableUniqueId)
        {
            var asset = AllAssets.FirstOrDefault(x => x.Id == (Guid)indexableUniqueId.Value);

            if (asset == null)
            {
                return(null);
            }
            return(new IndexableImage(asset));
        }
 public void Update(IIndexableUniqueId indexableUniqueId)
 {
     using (var context = CreateUpdateContext())
     {
         foreach (var crawler in Crawlers)
         {
             crawler.Update(context, indexableUniqueId);
         }
         context.Commit();
     }
 }
Esempio n. 6
0
 public override void Delete(IIndexableUniqueId indexableUniqueId, IndexingOptions indexingOptions)
 {
     using (var context = this.CreateUpdateContext())
     {
         foreach (var crawler in this.Crawlers)
         {
             crawler.Delete(context, indexableUniqueId, indexingOptions);
         }
         context.Commit();
     }
 }
Esempio n. 7
0
        public override void Update(IProviderUpdateContext context, IIndexableUniqueId indexableUniqueId, IndexEntryOperationContext operationContext, IndexingOptions indexingOptions = IndexingOptions.Default)
        {
            Assert.ArgumentNotNull(indexableUniqueId, "indexableUniqueId");

            if (!ShouldStartIndexing(indexingOptions))
            {
                return;
            }

            if (IsExcludedFromIndex(indexableUniqueId, true))
            {
                return;
            }

            if (operationContext != null)
            {
                if (operationContext.NeedUpdateChildren)
                {
                    var obj = Sitecore.Data.Database.GetItem((indexableUniqueId as SitecoreItemUniqueId));
                    if (obj != null)
                    {
                        UpdateHierarchicalRecursive(context, obj, CancellationToken.None);
                        return;
                    }
                }

                if (operationContext.NeedUpdatePreviousVersion)
                {
                    var obj = Sitecore.Data.Database.GetItem((indexableUniqueId as SitecoreItemUniqueId));
                    if (obj != null)
                    {
                        UpdatePreviousVersion(obj, context);
                    }
                }
            }
            var indexableAndCheckDeletes = GetIndexableAndCheckDeletes(indexableUniqueId);

            if (indexableAndCheckDeletes == null)
            {
                if (GroupShouldBeDeleted(indexableUniqueId.GroupId))
                {
                    Delete(context, indexableUniqueId.GroupId, IndexingOptions.Default);
                }
                else
                {
                    Delete(context, indexableUniqueId, IndexingOptions.Default);
                }
            }
            else
            {
                DoUpdate(context, indexableAndCheckDeletes, operationContext);
            }
        }
Esempio n. 8
0
        protected override bool IsExcludedFromIndex(IIndexableUniqueId indexableUniqueId, bool checkLocation)
        {
            var itemUri = (ItemUri)(indexableUniqueId as SitecoreItemUniqueId);

            if (itemUri != null && !itemUri.DatabaseName.Equals(Database, StringComparison.InvariantCultureIgnoreCase))
            {
                return(true);
            }
            if (checkLocation)
            {
                var item = Sitecore.Data.Database.GetItem((indexableUniqueId as SitecoreItemUniqueId));
                if (item != null && !IsAncestorOf(item))
                {
                    return(true);
                }
            }
            return(false);
        }
        public override void Delete(IIndexableUniqueId indexableUniqueId, IndexingOptions indexingOptions)
        {
            EnsureInitialized();
            this.VerifyNotDisposed();
            if (!this.ShouldStartIndexing(indexingOptions))
            {
                return;
            }

            using (IProviderUpdateContext updateContext = this.CreateUpdateContext())
            {
                foreach (IProviderCrawler providerCrawler in this.Crawlers)
                {
                    providerCrawler.Delete(updateContext, indexableUniqueId, indexingOptions);
                }

                updateContext.Commit();
            }
        }
Esempio n. 10
0
        protected override SitecoreIndexableItem GetIndexableAndCheckDeletes(IIndexableUniqueId indexableUniqueId)
        {
            var itemUri = (ItemUri)(indexableUniqueId as SitecoreItemUniqueId);

            using (new SecurityDisabler())
            {
                Item item;
                using (new WriteCachesDisabler())
                    item = Sitecore.Data.Database.GetItem(itemUri);
                if (item != null)
                {
                    var item2 = Sitecore.Data.Database.GetItem(new ItemUri(itemUri.ItemID, itemUri.Language, Sitecore.Data.Version.Latest, itemUri.DatabaseName));
                    Sitecore.Data.Version[] versionArray;
                    using (new WriteCachesDisabler())
                        versionArray = item2.Versions.GetVersionNumbers() ?? new Sitecore.Data.Version[0];
                    if (Enumerable.All(versionArray, v => v.Number != itemUri.Version.Number))
                    {
                        item2 = null;
                    }
                }
                return(item);
            }
        }
 public void Delete(IIndexableUniqueId indexableUniqueId, IProviderUpdateContext context)
 {
     Assert.ArgumentNotNull(indexableUniqueId, "indexableUniqueId");
     VerboseLogging.CrawlingLogDebug(() => string.Format("Deleting indexable UniqueId:{0}, Index:{1}", indexableUniqueId, context.Index.Name));
     context.Delete(indexableUniqueId);
 }
Esempio n. 12
0
 public void Delete(IIndexableUniqueId indexableUniqueId, IProviderUpdateContext context)
 {
     Assert.ArgumentNotNull(indexableUniqueId, "indexableUniqueId");
     VerboseLogging.CrawlingLogDebug(() => string.Format("Deleting indexable UniqueId:{0}, Index:{1}", indexableUniqueId, context.Index.Name));
     context.Delete(indexableUniqueId);
 }
Esempio n. 13
0
 public override void Update(IProviderUpdateContext context, IIndexableUniqueId indexableUniqueId, IndexingOptions indexingOptions = IndexingOptions.Default)
 {
     Update(context, indexableUniqueId, null, indexingOptions);
 }
        public void Delete(IIndexableUniqueId id)
        {

        }
 public void Update(IIndexableUniqueId indexableUniqueId)
 {
     using (var context = this.CreateUpdateContext())
     {
         foreach (var crawler in this.Crawlers)
         {
             crawler.Update(context, indexableUniqueId);
         }
         context.Commit();
     }
 }
 public override void Delete(IIndexableUniqueId indexableUniqueId)
 {
     this.Delete(indexableUniqueId, IndexingOptions.Default);
 }
Esempio n. 17
0
 public override void Update(IIndexableUniqueId indexableUniqueId, IndexingOptions indexingOptions)
 {
     throw new NotImplementedException();
 }
Esempio n. 18
0
        protected override IEnumerable <IIndexableUniqueId> GetIndexablesToUpdateOnDelete(IIndexableUniqueId indexableUniqueId)
        {
            var itemUri = indexableUniqueId.Value as ItemUri;

            using (new SecurityDisabler())
            {
                var  latestItemUri = new ItemUri(itemUri.ItemID, itemUri.Language, Sitecore.Data.Version.Latest, itemUri.DatabaseName);
                Item latestItem;
                using (new WriteCachesDisabler())
                    latestItem = Sitecore.Data.Database.GetItem(latestItemUri);
                if (latestItem != null && latestItem.Version.Number < itemUri.Version.Number)
                {
                    yield return(new SitecoreItemUniqueId(latestItem.Uri));
                }
            }
        }
        protected override IEnumerable <IIndexableUniqueId> GetIndexablesToUpdateOnDelete(IIndexableUniqueId indexableUniqueId)
        {
            //return empty
            var uidList = _repository.Cast <IIndexable>().Select(bi => bi.UniqueId);

            return(uidList);
        }
 public void Delete(IIndexableUniqueId indexableUniqueId, IProviderUpdateContext context)
 {
     CrawlingLog.Log.Debug($"{LogPreffix} {_index.Name} Delete IIndexableUniqueId {indexableUniqueId.Value}");
     context.Delete(indexableUniqueId);
 }
 public void Delete(IIndexableUniqueId indexableUniqueId, IProviderUpdateContext context)
 {
     throw new NotImplementedException();
 }
 public override void Delete(IIndexableUniqueId indexableUniqueId)
 {
     
 }
 public override void Update(IIndexableUniqueId indexableUniqueId, IndexingOptions indexingOptions)
 {
     Update(new List<IIndexableUniqueId> { indexableUniqueId }, IndexingOptions.Default);
 }
        public override void Delete(IIndexableUniqueId indexableUniqueId, IndexingOptions indexingOptions)
        {
            EnsureInitialized();
            this.VerifyNotDisposed();
            if (!this.ShouldStartIndexing(indexingOptions))
                return;

            using (IProviderUpdateContext updateContext = this.CreateUpdateContext())
            {
                foreach (IProviderCrawler providerCrawler in this.Crawlers)
                    providerCrawler.Delete(updateContext, indexableUniqueId, indexingOptions);

                updateContext.Commit();
            }
        }
Esempio n. 25
0
 protected override bool IsExcludedFromIndex(IIndexableUniqueId indexableUniqueId)
 {
     return(IsExcludedFromIndex(indexableUniqueId, false));
 }
 public override void Update(IIndexableUniqueId indexableUniqueId, IndexingOptions indexingOptions)
 {
     
 }
Esempio n. 27
0
 public void Delete(IIndexableUniqueId id, IProviderUpdateContext context)
 {
     Assert.ArgumentNotNull(id, "id");
     Assert.ArgumentNotNull(context, "context");
     context.Delete(id);
 }
Esempio n. 28
0
 public virtual void Delete(IIndexableUniqueId indexableUniqueId, IProviderUpdateContext context)
 {
     Assert.ArgumentNotNull(indexableUniqueId, "indexableUniqueId");
     context.Delete(indexableUniqueId);
 }
 public void Delete(IIndexableUniqueId id)
 {
 }
 public override void Delete(IIndexableUniqueId indexableUniqueId)
 {
 }
 protected override IIndexable GetIndexable(IIndexableUniqueId indexableUniqueId)
 {
     throw new NotImplementedException();
 }
 public override void Update(IIndexableUniqueId indexableUniqueId, IndexingOptions indexingOptions)
 {
 }
 public void Delete(IIndexableUniqueId id, params IExecutionContext[] executionContexts)
 {
     //Get Document from results
 }
 public override void Update(IIndexableUniqueId indexableUniqueId)
 {
     
 }
Esempio n. 35
0
        public IJob UpdateItem(ISearchIndex index, IIndexableUniqueId indexableId)
        {
            var job = IndexCustodian.UpdateItem(index, indexableId);

            return(job == null ? null : new SpeJob(job));
        }
Esempio n. 36
0
        protected override IEnumerable <IIndexableUniqueId> GetIndexablesToUpdateOnDelete(IIndexableUniqueId indexableUniqueId)
        {
            var asset = AllAssets.FirstOrDefault(x => x.Id == (Guid)indexableUniqueId.Value);

            if (asset == null)
            {
                return(null);
            }
            return(new List <IIndexableUniqueId>()
            {
                indexableUniqueId
            });
        }
 public override void Update(IIndexableUniqueId indexableUniqueId)
 {
 }
 protected override SitecoreIndexableItem GetIndexableAndCheckDeletes(IIndexableUniqueId indexableUniqueId)
 {
     throw new NotImplementedException();
 }
Esempio n. 39
0
 public override void Delete(IIndexableUniqueId indexableUniqueId)
 {
     throw new NotImplementedException();
 }
 protected override IEnumerable <IIndexableUniqueId> GetIndexablesToUpdateOnDelete(IIndexableUniqueId indexableUniqueId)
 {
     throw new NotImplementedException();
 }
        public void Delete(IIndexableUniqueId id, params IExecutionContext[] executionContexts)
        {

        }
 public void Delete(IIndexableUniqueId id, params IExecutionContext[] executionContexts)
 {
     //Get Document from results
     
 }
Esempio n. 43
0
 public void Delete(IIndexableUniqueId indexableUniqueId, IProviderUpdateContext context)
 {
     throw new NotImplementedException();
 }
 public void Delete(IIndexableUniqueId indexableUniqueId, IndexingOptions indexingOptions)
 {
     throw new NotImplementedException();
 }