static int Main(string[] args) { if (args.Length != 2) { PrintHelp(); return(-1); } var inputFolder = args[0]; var outputFolder = args[1]; Console.WriteLine($"Input: {Path.GetFullPath(inputFolder)}"); Console.WriteLine($"Output: {Path.GetFullPath(outputFolder)}"); var index = new YngdiengIndex(); var hanziVariantsUtil = new HanziVariantsUtil(inputFolder); var aggregator = new DocumentAggregator(); var ciklin = new CreateCikLinDocumentsAction(Path.Combine(inputFolder, "ciklin.csv"), outputFolder, hanziVariantsUtil).Run(); var dfd = new CreateDFDDocumentsAction(Path.Combine(inputFolder, "DFDCharacters.csv"), outputFolder, hanziVariantsUtil).Run(); var feng = new CreateFengDocumentsAction(Path.Combine(inputFolder, "feng.txt"), outputFolder).Run(); index.Documents.Add(ciklin); index.Documents.Add(dfd); index.FengDocuments.Add(feng); foreach (var d in ciklin) { aggregator.Add(d); } foreach (var d in dfd) { aggregator.Add(d); } index.AggregatedDocument.AddRange(aggregator.GetAggregatedDocuments()); using (var outputFile = File.Create(Path.Combine(outputFolder, "yngdieng_index.bin"))) { index.WriteTo(outputFile); } return(0); }
public CreateCikLinDocumentsAction(string cikLinCsvFile, string outputFolder, HanziVariantsUtil hanziVariantsUtil) { _cikLinCsvFile = cikLinCsvFile; _outputFolder = outputFolder; _hanziVariantsUtil = hanziVariantsUtil; }
public CreateDFDDocumentsAction(string dfdCharactersFile, string outputFolder, HanziVariantsUtil hanziVariantsUtil) { _dfdCharactersFile = dfdCharactersFile; _outputFolder = outputFolder; _hanziVariantsUtil = hanziVariantsUtil; }
public int Run() { Console.WriteLine($"Input: {Path.GetFullPath(inputFolder)}"); Console.WriteLine($"Output: {Path.GetFullPath(outputFolder)}"); var index = new YngdiengIndex(); var hanziVariantsUtil = new HanziVariantsUtil(inputFolder); var aggregator = new HistoricalDocAggregator(); Console.WriteLine($"Loading zingzeu_words..."); var zingzeuWords = new ZingzeuWordsLoader(Path.Combine(inputFolder, "zingzeu_words.txt")).Run(); Console.WriteLine($"Loading CikLinBekIn..."); var ciklin = new CikLingLoader(Path.Combine(inputFolder, "CikLinBekIn.csv"), Path.Combine(inputFolder, "cikling.csv"), Path.Combine(inputFolder, "cikling_mapping.csv"), outputFolder, hanziVariantsUtil) .Run(); Console.WriteLine($"Loading DFD..."); var dfd = new DFDLoader(Path.Combine(inputFolder, "DFDCharacters.csv"), outputFolder, hanziVariantsUtil) .Run(); Console.WriteLine($"Loading Feng..."); var feng = new FengLoader(Path.Combine(inputFolder, "feng.txt"), Path.Combine(inputFolder, "feng_zeu_mapping.txt"), outputFolder, openCcClient) .Run(); Console.WriteLine($"Loading Contrib..."); var contrib = new ContribLoader(Path.Combine(inputFolder, "contrib.tsv")).Run(); Console.WriteLine($"Loading Redirects..."); var redirects = new RedirectsLoader(Path.Combine(inputFolder, "redirects.txt")).Run(); index.Version = versionTag; index.FengDocuments.Add(feng); foreach (var d in ciklin) { aggregator.Add(d); } foreach (var d in dfd) { aggregator.Add(d); } index.HistoricalDocuments.AddRange(aggregator.GetHistoricalDocuments()); index.YngdiengDocuments.AddRange(YngdiengDocumentUtil.Combine( zingzeuWords, index.HistoricalDocuments, feng, contrib)); index.DocIdRedirections.Add(redirects); var debugJsonOutput = index.ToString(); File.WriteAllText(Path.Combine(outputFolder, "index_debug.json"), debugJsonOutput); using (var outputFile = File.Create(Path.Combine(outputFolder, "yngdieng_index.bin"))) { index.WriteTo(outputFile); } CreateLuceneIndex(index); return(0); }