Esempio n. 1
0
 void InitTokenSegmenter()
 {
     Trace.WriteLine("InitTokenSegmenter Thread Start.");
     updating = true;
     try
     {
         using (ApplicationDbContext db = new ApplicationDbContext())
         {
             var list = app.MemoryCache.Get("match_groups", () => db.MatchGroups.ToList());
             updatedSegmenter = new PosSegmenter();
             foreach (var item in list)
             {
                 updatedSegmenter.AddWord(item.Name, 99999, ((int)item.Type).ToString() + "|" + item.Id);
             }
             File.WriteAllLines(user_dict_txt, list.Select(x => x.Name + "|" + (int)x.Type + "|" + x.Id).ToArray());
             user_dict_load = true;
         }
         segmenter        = updatedSegmenter;
         updatedSegmenter = null;
     }
     finally
     {
         Trace.WriteLine("InitTokenSegmenter Thread End.");
         updating = false;
     }
 }