示例#1
0
        private static async Task Main(string[] args)
        {
            var context = new PlaygroundContext(new DbContextOptionsBuilder <PlaygroundContext>()
                                                .UseNpgsql("Host=localhost;Database=playground;Username=postgres;Password=LocalDev123",
                                                           o => o.UseNodaTime())
                                                .UseSnakeCaseNamingConvention()
                                                .EnableSensitiveDataLogging().Options);

            var path      = @"/Users/matt.burke/projects/misc/ConsoleApplication1";
            var indexPath = Path.Combine(path, "recipe-index");

            Console.WriteLine(indexPath);
            var sharedWriter = new SharedLuceneWriter(indexPath);
            // var indexer = new IndexAllRecipes(context, new RecipeIndexer(sharedWriter));
            // await indexer.IndexAll();

            var searcher = new RecipeIndexSearcher(sharedWriter);

            foreach (var result in searcher.Search("potato").Results)
            {
                Console.WriteLine($"{result.Name} ({result.Key})");
                Console.WriteLine(result.Description);
                Console.WriteLine(result.IngredientNames);
                Console.WriteLine("----------");
            }


            // BenchmarkRunner.Run<SplitQueryBenchmark>();

            // await Seed(10_000);
            return;

            // context.Customers.Add(customer);
            // await context.SaveChangesAsync();
            //await Task.Delay(1000);
        }
 public RecipeIndexSearcher(SharedLuceneWriter writer)
 {
     _writer = writer;
 }