示例#1
0
        public void UpdateIndex(SueetieIndexTaskItem _taskItem)
        {
            DateTime startTime = DateTime.Now;

            try
            {
                _taskItem.BlogPosts     = AddSueetieSearchDocs(ProcessBlogPosts(_taskItem.TaskStartDateTime));
                _taskItem.WikiPages     = AddSueetieSearchDocs(ProcessSueetieWikiPages(_taskItem.TaskStartDateTime));
                _taskItem.ForumMessages = AddSueetieSearchDocs(ProcessSueetieForumMessages(_taskItem.TaskStartDateTime));
                _taskItem.MediaAlbums   = AddSueetieSearchDocs(ProcessSueetieMediaAlbums(_taskItem.TaskStartDateTime));
                _taskItem.MediaObjects  = AddSueetieSearchDocs(ProcessSueetieMediaObjects(_taskItem.TaskStartDateTime));
                _taskItem.ContentPages  = AddSueetieSearchDocs(ProcessSueetieContentPages(_taskItem.TaskStartDateTime));

                _taskItem.DocumentsIndexed = GetTotalIndexedCount();
                CommitAndCloseWriter();

                if (_taskItem.TaskTypeID == (int)SueetieTaskType.BuildSearchIndex)
                {
                    SueetieSearchDataProvider _provider = SueetieSearchDataProvider.LoadProvider();
                    _provider.UpdateAndEndTask(_taskItem);
                }
                DateTime endTime = DateTime.Now;
                SueetieLogs.LogSiteEntry(SiteLogType.General, SiteLogCategoryType.TasksMessage, "INDEX SUCCESSFUL: " +
                                         string.Format("Blog Posts: {0}, Wiki Pages: {1}, Forum Messages: {2}, Media Albums: {3}, Media Objects: {4}, Content Pages: {5}, Indexed Documents: {6}",
                                                       _taskItem.BlogPosts, _taskItem.WikiPages, _taskItem.ForumMessages, _taskItem.MediaAlbums, _taskItem.MediaObjects, _taskItem.ContentPages, _taskItem.DocumentsIndexed) +
                                         " - REBUILD INDEX DURATION: " + (endTime - startTime).TotalMilliseconds + " Milliseconds.");
            }
            catch (Exception e)
            {
                DateTime endTime = DateTime.Now;
                SueetieLogs.LogSearchException("SEARCH REBUILD INDEX ERROR: " + e.Message + "\n\nSTACKTRACE: " + e.StackTrace + " - REBUILD INDEX DURATION: " + (endTime - startTime).TotalMilliseconds + " Milliseconds.");
            }
        }
示例#2
0
        public override SueetieIndexTaskItem GetSueetieIndexTaskItem(int taskID)
        {
            SueetieIndexTaskItem _sueetieIndexItem = new SueetieIndexTaskItem();

            using (SqlConnection cn = GetSqlConnection())
            {
                SqlCommand cmd = new SqlCommand("Sueetie_Tasks_QueueInfo_Get", cn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@TaskTypeID", SqlDbType.Int, 4).Value = taskID;

                cn.Open();
                using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                {
                    while (dr.Read())
                    {
                        _sueetieIndexItem.TaskQueueID       = (int)dr["taskqueueid"];
                        _sueetieIndexItem.TaskStartDateTime = dr["taskstartdatetime"] == DBNull.Value ? DateTime.MinValue : (DateTime)dr["taskstartdatetime"];
                    }

                    dr.Close();
                    cn.Close();
                }
            }
            return(_sueetieIndexItem);
        }
示例#3
0
        public void UpdateIndex(SueetieTaskType _taskType, DateTime indexStartDateTime)
        {
            var sueetieIndexTaskItem = new SueetieIndexTaskItem
            {
                TaskTypeID        = (int)_taskType,
                TaskStartDateTime = indexStartDateTime
            };

            UpdateIndex(sueetieIndexTaskItem);
        }
示例#4
0
        public override void UpdateAndEndTask(SueetieIndexTaskItem sueetieIndexTaskItem)
        {
            using (SqlConnection cn = GetSqlConnection())
            {
                using (SqlCommand cmd = new SqlCommand("Sueetie_Search_IndexTask_End", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.Add("@TaskQueueID", SqlDbType.Int, 4).Value      = sueetieIndexTaskItem.TaskQueueID;
                    cmd.Parameters.Add("@BlogPosts", SqlDbType.Int, 4).Value        = sueetieIndexTaskItem.BlogPosts;
                    cmd.Parameters.Add("@ForumMessages", SqlDbType.Int, 4).Value    = sueetieIndexTaskItem.ForumMessages;
                    cmd.Parameters.Add("@WikiPages", SqlDbType.Int, 4).Value        = sueetieIndexTaskItem.WikiPages;
                    cmd.Parameters.Add("@MediaAlbums", SqlDbType.Int, 4).Value      = sueetieIndexTaskItem.MediaAlbums;
                    cmd.Parameters.Add("@MediaObjects", SqlDbType.Int, 4).Value     = sueetieIndexTaskItem.MediaObjects;
                    cmd.Parameters.Add("@ContentPages", SqlDbType.Int, 4).Value     = sueetieIndexTaskItem.ContentPages;
                    cmd.Parameters.Add("@DocumentsIndexed", SqlDbType.Int, 4).Value = sueetieIndexTaskItem.DocumentsIndexed;

                    cn.Open();
                    cmd.ExecuteNonQuery();
                    cn.Close();
                }
            }
        }
 public abstract void UpdateAndEndTask(SueetieIndexTaskItem sueetieIndexTaskItem);