public static UmbracoContentIndex GetUmbracoIndexer( IProfilingLogger profilingLogger, Directory luceneDir, Analyzer analyzer = null, ILocalizationService languageService = null, IContentValueSetValidator validator = null) { if (languageService == null) { languageService = GetMockLocalizationService(); } if (analyzer == null) { analyzer = new StandardAnalyzer(Version.LUCENE_30); } if (validator == null) { validator = new ContentValueSetValidator(true); } var i = new UmbracoContentIndex( "testIndexer", luceneDir, new UmbracoFieldDefinitionCollection(), analyzer, profilingLogger, languageService, validator); i.IndexingError += IndexingError; return(i); }
public UmbracoContentIndex GetUmbracoIndexer( IHostingEnvironment hostingEnvironment, IRuntimeState runtimeState, Directory luceneDir, Analyzer analyzer = null, ILocalizationService languageService = null, IContentValueSetValidator validator = null) { if (languageService == null) { languageService = GetMockLocalizationService(); } if (analyzer == null) { analyzer = new StandardAnalyzer(LuceneInfo.CurrentVersion); } if (validator == null) { validator = new ContentValueSetValidator(true); } var options = GetOptions( "testIndexer", new LuceneDirectoryIndexOptions { Analyzer = analyzer, Validator = validator, DirectoryFactory = new GenericDirectoryFactory(s => luceneDir), FieldDefinitions = new UmbracoFieldDefinitionCollection() }); var i = new UmbracoContentIndex( _loggerFactory, "testIndexer", options, hostingEnvironment, runtimeState, languageService); i.IndexingError += IndexingError; i.IndexOperationComplete += I_IndexOperationComplete; return(i); }
/// <summary> /// Create an index at runtime /// </summary> /// <param name="name"></param> /// <param name="fieldDefinitions"></param> /// <param name="luceneDirectory"></param> /// <param name="defaultAnalyzer"></param> /// <param name="profilingLogger"></param> /// <param name="languageService"></param> /// <param name="validator"></param> /// <param name="indexValueTypes"></param> public UmbracoContentIndex( string name, Directory luceneDirectory, FieldDefinitionCollection fieldDefinitions, Analyzer defaultAnalyzer, IProfilingLogger profilingLogger, ILocalizationService languageService, IContentValueSetValidator validator, IReadOnlyDictionary <string, IFieldValueTypeFactory> indexValueTypes = null) : base(name, luceneDirectory, fieldDefinitions, defaultAnalyzer, profilingLogger, validator, indexValueTypes) { if (validator == null) { throw new ArgumentNullException(nameof(validator)); } LanguageService = languageService ?? throw new ArgumentNullException(nameof(languageService)); if (validator is IContentValueSetValidator contentValueSetValidator) { PublishedValuesOnly = contentValueSetValidator.PublishedValuesOnly; } }