protected virtual XDocument GetDocument(IIndexable indexable, IProviderUpdateContext context) { //START: post 4 if (InboundIndexFilterPipeline.Run(new InboundIndexFilterArgs(indexable))) { return(null); } //END: post 4 //START: commented out in post 5 //var doc = new XDocument( // new XElement("item", // new XAttribute("id", item.ID.ToString()), // new XAttribute("name", item.Name), // new XAttribute("path", item.Paths.Path) // ) //); //return doc; //END: commented out in post 5 //START: post 5 var builder = new XmlDocumentBuilder(indexable, context); builder.AddItemFields(); return(builder.Document); //END: post 5 //var item = (Item)(indexable as SitecoreIndexableItem); //foreach (var language in item.Languages) //{ // var latestVersion = item.Database.GetItem(item.ID, language, Sitecore.Data.Version.Latest); // if (fields != null) // { // fields.IsLatestVersion = fields.Version == ((SitecoreIndexableItem)latestVersion).Item.Version.Number; // } // if (indexable is SitecoreIndexableItem) // { // ((SitecoreIndexableItem)indexable).IndexFieldStorageValueFormatter = context.Index.Configuration.IndexFieldStorageValueFormatter; // } // builder.AddSpecialField("_uniqueid", indexable.UniqueId.Value, false); // builder.AddSpecialField("_datasource", indexable.DataSource, false); // builder.AddSpecialField("_indexname", _index.Name, false); // builder.AddSpecialFields(); // builder.AddItemFields(); // builder.AddBoost(); //} //return builder.Document; }
private void ApplyPermissionsThenIndex(IProviderUpdateContext context, IIndexable version, IIndexable latestVersion) { if (InboundIndexFilterPipeline.Run(new InboundIndexFilterArgs(version))) { Event.RaiseEvent("indexing:excludedfromindex", new object[] { _index.Name, version.UniqueId }); } else { var itemToAdd = IndexVersion(version, latestVersion, context); if (itemToAdd == null) { CrawlingLog.Log.Warn(string.Format("ElasticIndexOperations : AddItem : IndexVersion produced a NULL doc for version {0}. Skipping.", version.UniqueId)); } else { context.AddDocument(itemToAdd, null); } } }
private IndexData BuildDataToIndex(IProviderUpdateContext context, IIndexable version) { var instance = context.Index.Locator.GetInstance <ICorePipeline>(); version = CleanUpPipeline.Run(instance, new CleanUpArgs(version, context)); if (InboundIndexFilterPipeline.Run(instance, new InboundIndexFilterArgs(version))) { index.Locator.GetInstance <IEvent>().RaiseEvent("indexing:excludedfromindex", new object[2] { index.Name, version.UniqueId }); return(null); } var indexData = GetIndexData(version, context); if (!indexData.IsEmpty) { return(indexData); } CrawlingLog.Log.Warn(string.Format("AzureIndexOperations : IndexVersion produced a NULL doc for version {0}. Skipping.", version.UniqueId), null); return(null); }