コード例 #1
0
 public FingerPrintHolder(string collectionName, sbyte collectionTag)
 {
     contextFingerPrints = new MongoDictionary(collectionName, collectionTag);
     titleFingerPrints = new MongoDictionary(collectionName, (sbyte)(collectionTag + 1));
 }
コード例 #2
0
 private void CountMatch(int[] printList, MongoDictionary printHolder, Dictionary<string, int[]> matchCount, int idx)
 {
     for (int i = 0; i < printList.Length; ++i)
     {
         IDAndPubInfo[] items = printHolder.GetItemList(printList[i]);
         if (items == null || items.Length == 0) continue;
         for (int j = 0; j < items.Length; ++j)
             if ((DateTime.Now - items[j].PubDate) < DetectorFacade.DetectPeriod)
             {
                 if (matchCount.ContainsKey(items[j].ItemID))
                     matchCount[items[j].ItemID][idx]++;
                 else
                 {
                     int[] cnt = new int[2];
                     cnt[0] = cnt[1] = 0; cnt[idx] = 1;
                     matchCount.Add(items[j].ItemID, cnt);
                 }
             }
     }
 }
コード例 #3
0
        private void RegisterFingerPrints(string itemID, DateTime? pubDate, int[] printList, MongoDictionary printHolder)
        {
            for (int i = 0; i < printList.Length; ++i)
            {
                IDAndPubInfo[] items = printHolder.GetItemList(printList[i]);

                List<IDAndPubInfo> items_new = new List<IDAndPubInfo>((int)Math.Min(items == null ? 0 : items.Length + 1, 1000));
                if (items != null)
                {
                    for (int j = 0; j < items.Length; ++j)
                        if ((DateTime.Now - items[j].PubDate) < DetectorFacade.DetectPeriod)
                            items_new.Add(items[j]);
                }
                items_new.Add(new IDAndPubInfo(itemID, pubDate));

                printHolder.PutbackItemList(printList[i], items_new.ToArray());
            }
        }