Пример #1
0
        /// <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();
            }
        }
Пример #2
0
 public virtual bool IsIndexable(ContentItem item)
 {
     if (item == null || item.ID == 0)
     {
         return(false);
     }
     return(extractor.IsIndexable(item));
 }