/* ======================================================================================= */ protected async Task L29Test(Action <RepositoryBuilder> initialize, Func <Task> callback, bool saveInitialDocuments = true, [CallerMemberName] string memberName = "") { var indexFolderName = $"Test_{memberName}_{Guid.NewGuid()}"; var indexingEngine = new Lucene29LocalIndexingEngine(new IndexDirectory(indexFolderName)); var searchEngine = new Lucene29SearchEngine(indexingEngine, new Lucene29LocalQueryEngine()); await base.Test(builder => { // important: use a real local search engine instead of in-memory search builder.UseSearchEngine(searchEngine); initialize?.Invoke(builder); }, async() => { if (saveInitialDocuments) { using (new SystemAccount()) { await SaveInitialIndexDocumentsAsync(CancellationToken.None); } } await callback(); }); }
/// <summary> /// Sets the Centralized Lucene search engine as the current search engine. /// </summary> public static IRepositoryBuilder UseLucene29CentralizedSearchEngine(this IRepositoryBuilder repositoryBuilder) { var searchEngine = new Lucene29SearchEngine( new Lucene29CentralizedIndexingEngine(null, Options.Create(new CentralizedOptions())), new Lucene29CentralizedQueryEngine()); repositoryBuilder.UseSearchEngine(searchEngine); return(repositoryBuilder); }
public static IRepositoryBuilder UseLucene29LocalSearchEngine(this IRepositoryBuilder repositoryBuilder, string indexDirectoryPath = null) { var indexDirectory = string.IsNullOrEmpty(indexDirectoryPath) ? null : new IndexDirectory(null, indexDirectoryPath); var searchEngine = new Lucene29SearchEngine( new Lucene29LocalIndexingEngine(indexDirectory), new Lucene29LocalQueryEngine()); repositoryBuilder.UseSearchEngine(searchEngine); return(repositoryBuilder); }