public IEnumerable <Dictionary <string, IEnumerable <string> > > DigInformation(string question) { var diggingresult = default(IEnumerable <Dictionary <string, IEnumerable <string> > >); var querykey = string.Empty; var querys = MiningCompiler.CompileQuerys(question); var matches = new List <string>(Directory.GetFiles(Storagefolder)); if (querys != null) { querykey = string.Join(".", new[] { querykey, $"{querys.Target} {string.Join(" or", querys?.Expressions)}" }); querykey = querykey.GetHashCode().ToString(); var cachefile = Path.Combine(Storagefolder, querykey, ".cache"); matches = File.Exists(cachefile) ? new List <string>(File.ReadAllLines(cachefile)) : matches; if (matches != null && matches.Any()) { diggingresult = Enumerable.Empty <Dictionary <string, IEnumerable <string> > >(); // Rückübersetzung der Treffer in Trefferdictionary foreach (var match in matches) { var information = RetrieveInformation(match); //if(IsMatchingInformation(querys, information)) //{ // diggingresult = diggingresult.Concat(new[] { information }); //} } } } return(diggingresult); }
private FilterDefinition <BsonDocument> ComposeFilter(string question) { var filter = MiningCompiler.ComposeFilter(question); return(filter?.And?.ToMongoDatabaseFilter()); }