public void AddDocumentIndex(DocumentIndex index, int weight ) { if ( !HasDocument(index.DocumentName) ) DocumentNodeList.Add(index.DocumentName, 0); DocumentNodeList[index.DocumentName]+=weight; TotalTermFrequency+=weight; //used to calculate TFIDF in a quick manner }
//adds a word with document specific information public void Add(String word, DocumentIndex? index, int weight ) { if (word.Length == 0) { if (LeafNode == null) LeafNode = new SuffixLeafNode(); if (index != null) LeafNode.AddDocumentIndex(index.Value,weight); return; } char c = Char.ToLower(word[0]); SuffixNode node = Neighbours[SuffixNode.MapToIndex(c)]; if (node == null) { Neighbours[SuffixNode.MapToIndex(c)] = new SuffixNode(c); node = Neighbours[SuffixNode.MapToIndex(c)]; } node.Add(word.Substring(1),index,weight); }