/// <summary>Updates the index with the given item.</summary> /// <param name="item">The item containing content to be indexed.</param> public virtual void Update(ContentItem item) { if (item == null || item.ID == 0) { return; } logger.Debug("Updating item #" + item.ID); if (!item.IsPage) { Update(Find.ClosestPage(item)); } lock (accessor) { var iw = accessor.GetWriter(); if (!extractor.IsIndexable(item)) { return; } var doc = CreateDocument(item); iw.UpdateDocument(new Term(Properties.ID, item.ID.ToString()), doc); iw.Commit(); accessor.RecreateSearcher(); } }
public virtual bool IsIndexable(ContentItem item) { if (item == null || item.ID == 0) { return(false); } return(extractor.IsIndexable(item)); }