Exemple #1
0
 public IndexWord(string docId, string word, IndexAtom indexAtom) : base(word)
 {
     this.WordIndexAtom = indexAtom;
     this.DoctId        = docId;
 }
Exemple #2
0
 public IndexWord(string docId,string word, IndexAtom indexAtom)
     : base(word)
 {
     this.WordIndexAtom = indexAtom;
     this.DoctId = docId;
 }
Exemple #3
0
 /// <summary>
 /// 把内容分词结果整理并返回结果
 /// </summary>
 /// <param name="docWords"></param>
 /// <param name="docId"></param>
 /// <returns></returns>
 public List<IndexWord> Extraction(List<DocWord> docWords, string docId)
 {
     List<IndexWord> result = new List<IndexWord>();
     var groups = docWords.GroupBy(o => o.Word);
     foreach (var group in groups)
     {
         var atom = new IndexAtom();
         atom.Position = group.Min(d => d.Position);
         atom.Rank = group.Max(d => d.Rank);
         atom.Frequency = Convert.ToUInt16((group.Count() * 1.0 / docWords.Count()) * 100);
         result.Add(new IndexWord(docId, group.Key, atom));
     }
     return result;
 }