예제 #1
0
        private void Init()
        {
            NewToOld = new Dictionary <int, int>(1500000);
            FileStream   inFile        = new FileStream(WayToWikiFiles.IndexNameFile, FileMode.Open, FileAccess.Read);
            FileStream   FileNamePages = new FileStream(WayToWikiFiles.NamePagesNameFile, FileMode.Open, FileAccess.Read);
            BinaryReader InF           = new BinaryReader(inFile);
            StreamReader NamePagesF    = new StreamReader(FileNamePages);

            NamePages = new List <string>(20000000);
            int w1, w2;

            for (; InF.BaseStream.Position != InF.BaseStream.Length;)
            {
                /*
                 * Line = InF.ReadLine();
                 * if(Line.Split(' ').Length>=2)
                 *  NewToOld.Add(Int32.Parse(Line.Split(' ')[0]), Int32.Parse(Line.Split(' ')[1]));
                 */
                w1 = InF.ReadInt32();
                w2 = InF.ReadInt32();
                NewToOld.Add(w1, w2);
            }
            for (; !NamePagesF.EndOfStream;)
            {
                NamePages.Add(NamePagesF.ReadLine());
            }
            SearchData.Init();
            SearB = new BooleanSearcher();
            SearB.Init(SearchData.Singelton);
            SearchTF = new TFIDFSearcher();
            SearchTF.Init(SearchData.Singelton);
        }
예제 #2
0
        public static void TestBooleanSearcher(Index indexer)
        {
            var bs = new BooleanSearcher(indexer);

            foreach (var res in bs.And("dr", bs.Or("p3", "p4")))
            {
                Console.WriteLine(res);
            }
        }