public async Task VocabTest() { using (Index index = new Index()) { index.WorkPath = "VocabTest\\"; int Npages = 100; TestDataSource ds = new TestDataSource(Npages); index.AddDataSource(ds); index.MaxDegreeOfParallelism = 1; await index.CreateAsync(); Assert.False(index.IsCreating); Assert.True(index.CanSearch); Vocab voc = new Vocab(); voc.Add("and", 1); voc.Add("end", 3); voc.Add("old", 2); voc.Add("the", 6); voc.Add("them", 5); voc.Add("then", 4); voc.Range = ('a', 'z'); voc.Name = "en"; using (Index vocindex = new Index("VocabTest\\vocindex\\")) { vocindex.AddDataSource(ds); vocindex.AddVoc(voc); await vocindex.CreateAsync(); Assert.Equal(Index.Status.Idle, vocindex.status); Assert.True(vocindex.CanSearch); Assert.Equal(Regex.Matches(TestText1.ToLower(), @"\band\b").Count * 2 * Npages, vocindex["#1"].Count()); Assert.True(vocindex.Search("Tupman").Equals(index.Search("Tupman"))); Assert.True(vocindex.Search("and").Equals(index.Search("and"))); Assert.True(vocindex.Search("Tupman and").Equals(index.Search("Tupman and"))); } } Directory.Delete("VocabTest\\", true); }
public Index createIndex(string id, string [] lang) { Index ind = new Index("session_indexes\\" + id + "\\"); ind.LoadStopWords("Dict\\stop.txt"); foreach (Vocab voc in vocs) { if (lang.Contains(voc.Name)) { ind.AddVoc(voc); } } if (indexes.ContainsKey(id)) { indexes[id] = ind; } else { indexes.Add(id, ind); } return(ind); }