public void CalcScores(RegExpScoreProcessingParams param) { var synergies = LoadSynergies(Path.Combine(param.WorkingFolder, param.SynergiesFileName)); using (var docsConnection = DatabaseHelper.CreateConnection(param.DocumentsDatabaseFilePath, param.Password)) { docsConnection.Open(); /////////////////////////////////////////////////////////////////////////////// var noteColumnCount = DatabaseHelper.GetNoteColumnCount(docsConnection, "Documents", "NOTE_TEXT"); /////////////////////////////////////////////////////////////////////////////// List <int> noteColumnIndexList = new List <int>(); noteColumnIndexList.Add(2); /////////////////////////////////////////////////////////////////////////////// var docsCount = DatabaseHelper.GetRowsCount(docsConnection, "Documents"); var query = "SELECT ED_ENC_NUM, Category, NOTE_TEXT"; for (var noteColumnIndex = 1; noteColumnIndex < noteColumnCount; noteColumnIndex++) { query += ", NOTE_TEXT" + noteColumnIndex.ToString(); noteColumnIndexList.Add(noteColumnIndex + 2); } query += " FROM Documents"; var documentRecords = DatabaseHelper.GetDataRecords(docsConnection, query); /////////////////////////////////////////////////////////////////////////////// var results = Parallel_CalcScores(documentRecords, docsCount, 0, noteColumnIndexList, synergies); results.Serialize(param.GetFullPath(param.ScoreOutputFileName)); /////////////////////////////////////////////////////////////////////////////// var matchResults = new RegExpProcessingResultsCollection <RegExpMatchProcessingResult>(_listRegExps.Select(x => new RegExpMatchProcessingResult { RegExpID = x.ID, TotalMatches = x.TotalMatches, TotalDocuments = x.TotalDocuments, TotalRecords = x.TotalRecords, CategorizedRecords = x.CategorizedRecords })); matchResults.Serialize(param.GetFullPath(param.MatchesOutputFileName)); } }
public void CalcScores(ColRegExpStatisticsProcessingParams param) { //MessageBox.Show("RegExpProcessor: CalcScores"); using (var docsConnection = DatabaseHelper.CreateConnection(param.DocumentsDatabaseFilePath, param.Password)) { docsConnection.Open(); /////////////////////////////////////////////////////////////////////////////// var docsCount = DatabaseHelper.GetRowsCount(docsConnection, "Documents", param.OnlyPositiveScore ? "Score > 0" : null); string query = "SELECT ED_ENC_NUM, NOTE_TEXT, Score FROM Documents"; if (param.OnlyPositiveScore) { query += " WHERE Score > 0"; } var documentRecords = DatabaseHelper.GetDataRecords(docsConnection, query); /////////////////////////////////////////////////////////////////////////////// Parallel_CalcScores(documentRecords, docsCount, 1, 2, param); /////////////////////////////////////////////////////////////////////////////// var matchResults = new RegExpProcessingResultsCollection <ColRegExpStatisticsProcessingResult>(_listRegExps.Select(x => new ColRegExpStatisticsProcessingResult { ID = x.ID, TotalMatches = x.TotalMatches, TotalDocuments = x.TotalDocuments })); matchResults.Serialize(param.GetFullPath(param.MatchesOutputFileName)); } }