コード例 #1
0
ファイル: IndexTest.cs プロジェクト: alexarchen/Docodo
        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);
        }
コード例 #2
0
        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);
        }