public IndexWord(string docId, string word, IndexAtom indexAtom) : base(word) { this.WordIndexAtom = indexAtom; this.DoctId = docId; }
public IndexWord(string docId,string word, IndexAtom indexAtom) : base(word) { this.WordIndexAtom = indexAtom; this.DoctId = docId; }
/// <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; }