public PluginRegistry() { For <IDocumentIndexProvider>().Singleton().Use(c => { var logger = c.GetInstance <IActivityLogger>(); var setup = c.GetInstance <DocumentIndexSetup>(); return(new DocumentIndexProvider(logger.Debug, setup)); }); For <DocumentIndexSetup>().Singleton().Use(() => { var folder = new PluginDataFolder(); return(new DocumentIndexSetup(indexPath: folder.Path, minStringLengthToSearch: 2, maxStringLengthIgnore: 60, aliveTimeoutInMinutes: 20)); }); For <QueryEntityTypeProvider>().Singleton().Use <QueryEntityTypeProvider>(); Forward <QueryEntityTypeProvider, IQueryResultFactory>(); Forward <QueryEntityTypeProvider, IEntityTypeProvider>(); For <IDocumentIdFactory>().Singleton().Use <DocumentIdFactory>(); For <IEntityIndexer>().Singleton().Use <EntityIndexer>(); For <AutomaticOnDemandProfileCreator>().Singleton().Use <AutomaticOnDemandProfileCreator>(); Forward <AutomaticOnDemandProfileCreator, ITargetProcessMessageWhenNoProfilesHandler>(); Forward <AutomaticOnDemandProfileCreator, ITargetProcessConditionalMessageRouter>(); For <QueryParser>().Singleton().Use <QueryParser>(); For <QueryPlanBuilder>().Use <QueryPlanBuilder>(); For <QueryPlanExecutor>().Use <QueryPlanExecutor>(); For <QueryRunner>().Use <QueryRunner>(); For <TextOperations>().Singleton().Use <TextOperations>(); }
public DocumentIndexSetup Load() { int aliveTimeoutInMinutes = LoadInt(IndexAliveTimeoutInMinutesName, 10); int deferredOptimizeCallsOnChange = LoadInt(DeferredOptimizeCallsOnChangeName, 1); DeferredOptimizeType optimizeType = LoadEnum(DeferredOptimizeTypeName, DeferredOptimizeType.None); int checkIntervalInMinutes = LoadInt(SearchCheckIntervalInMinutesName, aliveTimeoutInMinutes); int?managedMemoryThresholdInMb = LoadInt(ManagedMemoryThresholdInMbName); var folder = new PluginDataFolder(); return(new DocumentIndexSetup(indexPath: folder.Path, minStringLengthToSearch: 2, maxStringLengthIgnore: 60, aliveTimeoutInMinutes: aliveTimeoutInMinutes, deferredOptimizeCounter: deferredOptimizeCallsOnChange, deferredOptimizeType: optimizeType, checkIntervalInMinutes: checkIntervalInMinutes, managedMemoryThresholdInMb: managedMemoryThresholdInMb)); }
public LibraryLocalFolder(PluginDataFolder pluginDataFolder) { Path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, pluginDataFolder.Path, MashupLibraryFolderName); }