示例#1
0
        private void CreateListeners()
        {
            _pipeline      = new Pipeline();
            _resultHandler = new QueryResultHandler(this);

            _webResourceManager = new WebResourceManager(_pipeline, _resultHandler);
            _pipeline.InputTextSubscriberManager.AddSubscriber(_webResourceManager);

            _webResourceManager.AddSearchEngine(new GoogleSearchEngine());
            _webResourceManager.AddSearchEngine(new BaiduSearchEngine());
            _webResourceManager.AddSearchEngine(new SogouSearchEngine());
            _webResourceManager.AddSearchEngine(new WikipediaSearchEngine());
            //_webResourceManager.AddSearchEngine( new GoogleSuggestion() );
            _webResourceManager.AddSearchEngine(new DictCn());

            InputQueryObsoletedTime = _defaultInputQueryObsoletedTime;
            //_inputQueryRecordManager = new InputQueryRecordManager(
            //    "data\\query.xml", InputQueryObsoletedTime);
            _pipeline.InputTextSubscriberManager.AddSubscriber(_inputQueryRecordManager);

            _queryResultRecordManager =
                new QueryResultRecordManager(
                    "data", new TimeSpan(30, 0, 0, 0));
            _pipeline.QueryResultSubscriberManager.AddSubscriber(_queryResultRecordManager);
        }
示例#2
0
        /// <summary>
        /// 得到一段时间内的所有结果,包括开头和结尾
        /// </summary>
        /// <param name="startDate">开始时间</param>
        /// <param name="endDate">结束时间</param>
        /// <returns>结果对应的一项</returns>
        private TreeViewItem GetRootItem(DateTime startDate, DateTime endDate)
        {
            TreeViewItem       rootItem   = new TreeViewItem();
            List <QueryResult> resultList =
                QueryResultRecordManager.GetResultList(startDate, endDate);

            foreach (QueryResult result in resultList)
            {
                object resultItem = GetResultItem(result);
                rootItem.Items.Add(resultItem);
            }
            return(rootItem);
        }
示例#3
0
        static void Test()
        {
            DateTime date = QueryResultRecordManager.GetDate("2009-09-08");

            Console.WriteLine(date);

            string[] allDirectories = Directory.GetDirectories("data");
            foreach (string dir in allDirectories)
            {
                string fileName = Path.GetFileName(dir);
                Console.WriteLine(fileName);
            }
        }
示例#4
0
        private void RemoveRecordMenuItem_Click(object sender, RoutedEventArgs e)
        {
            // TO-DO: Remove current record
            DisplayQueryResult displayQueryResult =
                HistoryTreeView.SelectedItem as DisplayQueryResult;

            // 选中的不是历史记录,则返回
            if (displayQueryResult == null)
            {
                return;
            }

            DateTime date = displayQueryResult.QueryResult.Time.Date;

            QueryResultRecordManager.RemoveResult(
                displayQueryResult.QueryResult, date);
            LoadHistoryRecord();
        }
示例#5
0
        public static void Test()
        {
            QueryResultRecordManager manager = new QueryResultRecordManager("data", new TimeSpan(0, 1, 0));

            Pipeline.Pipeline pipeline = new Pipeline.Pipeline();
            pipeline.QueryResultSubscriberManager.AddSubscriber(manager);

            QueryResult        result     = new QueryResult(new InputQuery("Bill Gates"));
            SearchEngineResult resultItem = new SearchEngineResult();

            resultItem.SearchEngineType = SearchEngineType.Google;
            resultItem.SearchUrl        = "http://www.google.com/query.jsp";
            SearchEngineResult.ResultItem item = new SearchEngineResult.ResultItem();
            item.Title       = "ddd";
            item.Url         = "http://www.gfw.com/";
            item.SimilarUrl  = "http://www.g.com/ddd";
            item.CacheUrl    = "http://www.g.com/cache";
            item.Description = "Who cares?";
            resultItem.Results.Add(item);

            SuggestionResult resultItem1 = new SuggestionResult();

            resultItem1.SuggestionType = SuggestionType.Google;
            resultItem1.SearchUrl      = "json";
            SuggestionResult.ResultItem item1 = new SuggestionResult.ResultItem();
            item1.Index      = "1";
            item1.Number     = "2";
            item1.Suggestion = "haha";
            resultItem1.Results.Add(item1);

            result.SearchEngineResultItems.Add(resultItem);
            result.SuggestionResultItems.Add(resultItem1);

            pipeline.OnQueryResultReady(result);

            Thread.Sleep(1000);

            List <QueryResult> resultList = manager.GetResultList(DateTime.Today, DateTime.Today);

            foreach (QueryResult queryResult in resultList)
            {
                Console.WriteLine(queryResult);
            }
            Console.WriteLine("----------------------------------------------");

            manager.RemoveAllResultList();

            resultList = manager.GetResultList(DateTime.Today, DateTime.Today);
            foreach (QueryResult queryResult in resultList)
            {
                Console.WriteLine(queryResult);
            }

            Console.WriteLine("----------------------------------------------");

            result     = new QueryResult(new InputQuery("Bill Gates"));
            resultItem = new SearchEngineResult();
            resultItem.SearchEngineType = SearchEngineType.Google;
            resultItem.SearchUrl        = "http://www.google.com/query.jsp";
            item             = new SearchEngineResult.ResultItem();
            item.Title       = "ddd";
            item.Url         = "http://www.gfw.com/";
            item.SimilarUrl  = "http://www.g.com/ddd";
            item.CacheUrl    = "http://www.g.com/cache";
            item.Description = "Who cares?";
            resultItem.Results.Add(item);

            result.Items.Add(resultItem);

            pipeline.OnQueryResultReady(result);

            Thread.Sleep(1000);

            manager.RemoveResultListFromDate(DateTime.Today);
            resultList = manager.GetResultList(DateTime.Today - new TimeSpan(1, 0, 0, 0), DateTime.Today);
            foreach (QueryResult queryResult in resultList)
            {
                Console.WriteLine(queryResult);
            }

            Console.WriteLine("----------------------------------------------");

            manager.RemoveResultListFromDate(DateTime.Today + new TimeSpan(1, 0, 0, 0));
            resultList = manager.GetResultList(DateTime.Today - new TimeSpan(1, 0, 0, 0), DateTime.Today);
            foreach (QueryResult queryResult in resultList)
            {
                Console.WriteLine(queryResult);
            }

            Console.WriteLine("----------------------------------------------");
        }
示例#6
0
 /// <summary>
 /// 清除某天之前(不包括这一天)的历史记录
 /// </summary>
 /// <param name="date">某一天</param>
 private void CleanHistoryRecord(DateTime date)
 {
     QueryResultRecordManager.RemoveResultListFromDate(date);
 }
示例#7
0
 /// <summary>
 /// 清除所有历史记录
 /// </summary>
 private void CleanHistoryRecord()
 {
     QueryResultRecordManager.RemoveAllResultList();
 }
示例#8
0
 private void InitializeHistoryManager()
 {
     QueryResultRecordManager =
         new QueryResultRecordManager(
             "data", new TimeSpan(30, 0, 0, 0));
 }