public UmbracoContentIndex( ILoggerFactory loggerFactory, string name, IOptionsMonitor <LuceneDirectoryIndexOptions> indexOptions, IHostingEnvironment hostingEnvironment, IRuntimeState runtimeState, ILocalizationService?languageService = null) : base(loggerFactory, name, indexOptions, hostingEnvironment, runtimeState) { LanguageService = languageService; _logger = loggerFactory.CreateLogger <UmbracoContentIndex>(); LuceneDirectoryIndexOptions namedOptions = indexOptions.Get(name); if (namedOptions == null) { throw new InvalidOperationException( $"No named {typeof(LuceneDirectoryIndexOptions)} options with name {name}"); } if (namedOptions.Validator is IContentValueSetValidator contentValueSetValidator) { PublishedValuesOnly = contentValueSetValidator.PublishedValuesOnly; } }
public LuceneIndexDiagnostics( LuceneIndex index, ILogger <LuceneIndexDiagnostics> logger, IHostingEnvironment hostingEnvironment, IOptionsMonitor <LuceneDirectoryIndexOptions> indexOptions) { _hostingEnvironment = hostingEnvironment; _indexOptions = indexOptions.Get(index.Name); Index = index; Logger = logger; }
//public static MultiIndexSearcher GetMultiSearcher(Directory pdfDir, Directory simpleDir, Directory conventionDir, Directory cwsDir) //{ // var i = new MultiIndexSearcher("testSearcher", new[] { pdfDir, simpleDir, conventionDir, cwsDir }, new StandardAnalyzer(Version.LUCENE_29)); // return i; //} public static IOptionsMonitor <LuceneDirectoryIndexOptions> GetOptions(string indexName, LuceneDirectoryIndexOptions options) => Mock.Of <IOptionsMonitor <LuceneDirectoryIndexOptions> >(x => x.Get(indexName) == options);