static void test_2() { var dataFileName = @"E:\GeoDB\DiskSearchEngine\data\fusking.rotter.data"; var dataFileEncoding = Encoding.UTF7; //Encoding.Unicode; //Encoding.UTF8; // create_datafile_in_need_encoding(dataFileName, dataFileEncoding); //var indexHeader = HashtableIndexer.GetIndexHeaderByDataFile( dataFileName ); var allRecordCountInDataFile = HashtableEngineHelper.CalulateAllRecordCountInDataFile(dataFileName, dataFileEncoding); HashtableIndexer.BuildIndex(dataFileName, dataFileEncoding, allRecordCountInDataFile.NearestPrimeNumber(), HashtableEngineHelper.NormlizeText); using (var searcher = new HashtableSearcher(dataFileName, HashtableEngineHelper.NormlizeText)) { var max_len = geo_names.Max(_ => _.Length); searcher.IsExists1("кызыл-орда", max_len); foreach (var geo_name in geo_names) { searcher.IsExists1(geo_name, max_len); } } }
static void test_GetIndexHeaderByDataFile(string dataFileName) { //test get index info try { var indexHeader = HashtableIndexer.GetIndexHeaderByDataFile(dataFileName); Console.WriteLine(indexHeader.ToString()); } catch (Exception e) { Console.WriteLine("HashtableIndexer.GetIndexHeaderByDataFile( '" + dataFileName + "') => " + e.Message + Environment.NewLine); } }
static void test_BuildIndex32OnDisk(string dataFileName, Encoding dataFileEncoding) { Console.WriteLine("Begin calulate record count in data file..."); var allRecordCountInDataFile = HashtableEngineHelper.CalulateAllRecordCountInDataFile(dataFileName, dataFileEncoding); Console.WriteLine("End calulate record count in data file: " + allRecordCountInDataFile + Environment.NewLine); //test Indexing Console.WriteLine("Begin build int32-index on disk..."); var sw = Stopwatch.StartNew(); HashtableIndexer.BuildIndexInt32OnDisk(dataFileName, dataFileEncoding, allRecordCountInDataFile.NearestPrimeNumber(), HashtableEngineHelper.NormlizeText); Console.WriteLine("End build int32-index on disk, elapsed: " + sw.Elapsed + Environment.NewLine); }
static void test_BuildIndex64(string dataFileName, Encoding dataFileEncoding) { Console.WriteLine("Begin calulate record count in data file..."); var allRecordCountInDataFile = HashtableEngineHelper.CalulateAllRecordCountInDataFile(dataFileName, dataFileEncoding); Console.WriteLine("End calulate record count in data file: " + allRecordCountInDataFile + Environment.NewLine); //test Indexing Console.WriteLine("Begin build int64-index..."); var sw = Stopwatch.StartNew(); HashtableIndexer.BuildIndex(dataFileName, dataFileEncoding, allRecordCountInDataFile //.RoundBeforeGreaterBorder() .NearestPrimeNumber(), HashtableEngineHelper.NormlizeText); //HashtableIndexer.BuildIndex( dataFileName, dataFileEncoding, 3000000 ); Console.WriteLine("End build int64-index, elapsed: " + sw.Elapsed + Environment.NewLine); }
static void test_BuildIndexAutomatic(string dataFileName, Encoding dataFileEncoding) { /* * Console.WriteLine( "Begin calulate record count in data file..." ); * var allRecordCountInDataFile = HashtableEngineHelper.CalulateAllRecordCountInDataFile( dataFileName, dataFileEncoding ); * Console.WriteLine( "End calulate record count in data file: " + allRecordCountInDataFile + Environment.NewLine ); * * //test automatic-Indexing * Console.WriteLine( "Begin build automatic-index..."); * Console.WriteLine( "Hash-table size: " + allRecordCountInDataFile.NearestPrimeNumber() ); * var sw = Stopwatch.StartNew(); * * HashtableIndexer.BuildIndexAutomatic( dataFileName, dataFileEncoding, allRecordCountInDataFile.NearestPrimeNumber() ); * * Console.WriteLine( "End build automatic-index, elapsed: " + sw.Elapsed + Environment.NewLine ); */ Console.WriteLine("Begin build automatic-index..."); var sw = Stopwatch.StartNew(); HashtableIndexer.BuildIndexAutomatic(dataFileName, dataFileEncoding, HashtableEngineHelper.NormlizeText); Console.WriteLine("End build automatic-index, elapsed: " + sw.Elapsed + Environment.NewLine); }