void GetStats() { if (SelectedDb == null) { var button = MessageBoxButton.OK; var image = MessageBoxImage.Warning; var text = "Please select a Database to get stats of first"; MessageBox.Show(text, "", button, image); } else { var list = Lookup.GetStats(SelectedDb).Values.ToList(); QualityStats.Clear(); foreach (var stat in list) { QualityStats.Add(stat); } if (list.Count != 0) { ExportCommand.Executable = true; } } }
public static void Main(string[] args) { if (args.Length < 4 || args.Length > 5) { // LUCENENET specific - our wrapper console shows correct usage throw new ArgumentException(); //Console.Error.WriteLine("Usage: QueryDriver <topicsFile> <qrelsFile> <submissionFile> <indexDir> [querySpec]"); //Console.Error.WriteLine("topicsFile: input file containing queries"); //Console.Error.WriteLine("qrelsFile: input file containing relevance judgements"); //Console.Error.WriteLine("submissionFile: output submission file for trec_eval"); //Console.Error.WriteLine("indexDir: index directory"); //Console.Error.WriteLine("querySpec: string composed of fields to use in query consisting of T=title,D=description,N=narrative:"); //Console.Error.WriteLine("\texample: TD (query on Title + Description). The default is T (title only)"); //Environment.Exit(1); } FileInfo topicsFile = new FileInfo(args[0]); FileInfo qrelsFile = new FileInfo(args[1]); SubmissionReport submitLog = new SubmissionReport(new StreamWriter(new FileStream(args[2], FileMode.Create, FileAccess.Write), Encoding.UTF8 /* huh, no nio.Charset ctor? */), "lucene"); using Store.FSDirectory dir = Store.FSDirectory.Open(new DirectoryInfo(args[3])); using IndexReader reader = DirectoryReader.Open(dir); string fieldSpec = args.Length == 5 ? args[4] : "T"; // default to Title-only if not specified. IndexSearcher searcher = new IndexSearcher(reader); int maxResults = 1000; string docNameField = "docname"; TextWriter logger = Console.Out; //new StreamWriter(Console, Encoding.GetEncoding(0)); // use trec utilities to read trec topics into quality queries TrecTopicsReader qReader = new TrecTopicsReader(); QualityQuery[] qqs = qReader.ReadQueries(IOUtils.GetDecodingReader(topicsFile, Encoding.UTF8)); // prepare judge, with trec utilities that read from a QRels file IJudge judge = new TrecJudge(IOUtils.GetDecodingReader(qrelsFile, Encoding.UTF8)); // validate topics & judgments match each other judge.ValidateData(qqs, logger); ISet <string> fieldSet = new JCG.HashSet <string>(); if (fieldSpec.IndexOf('T') >= 0) { fieldSet.Add("title"); } if (fieldSpec.IndexOf('D') >= 0) { fieldSet.Add("description"); } if (fieldSpec.IndexOf('N') >= 0) { fieldSet.Add("narrative"); } // set the parsing of quality queries into Lucene queries. IQualityQueryParser qqParser = new SimpleQQParser(fieldSet.ToArray(), "body"); // run the benchmark QualityBenchmark qrun = new QualityBenchmark(qqs, qqParser, searcher, docNameField); qrun.MaxResults = maxResults; QualityStats[] stats = qrun.Execute(judge, submitLog, logger); // print an avarage sum of the results QualityStats avg = QualityStats.Average(stats); avg.Log("SUMMARY", 2, logger, " "); }