コード例 #1
0
        public IndexFacadeUtility()
        {
            string indexDirectory        = CreateDirectory("lucene-index", parent: TempDirectory);
            var    indexEngine           = new LuceneIndexEngine(indexDirectory);
            var    indexingTaskProcessor = new IndexingTaskProcessor(indexEngine);

            _indexFacade = new IndexFacade(Watcher, Mirror, indexingTaskProcessor, indexEngine)
            {
                IdleDelay     = TimeSpan.FromMilliseconds(10),
                ThrottleDelay = TimeSpan.FromMilliseconds(200)
            };

            _indexFacade.Idle += indexFacadeIdle;
            _indexFacade.ProcessingTaskStarted  += processingTaskStarted;
            _indexFacade.ProcessingTaskFinished += processingTaskFinished;

            indexingTaskProcessor.FileOpened += indexingTaskProcessorFileOpened;
        }
コード例 #2
0
        public DemoApplication()
        {
            var settings = loadSettings();
            var config   = settings.Get <IndexConfig>();

            FileNameRegex = config.FileNameRegex;
            var regex = new Regex(FileNameRegex, RegexOptions.Compiled | RegexOptions.IgnoreCase);

            _indexFacade = IndexFacade.Create(
                fileNameFilter: fileName => regex.IsMatch(fileName),
                additionalWordChars: config.AdditionalWordChars,
                maxWordLength: config.MaxWordLength,
                caseSensitive: config.CaseSensitive,
                indexDirectory: config.IndexDirectory,
                maxFileLength: config.MaxFileLength,
                maxReadAttempts: config.MaxReadAttempts);

            foreach (var directory in config.Directories)
            {
                _indexFacade.Watch(new WatchTarget(EntryType.Directory, Path.GetFullPath(directory.Path)));
            }

            foreach (var file in config.Files)
            {
                _indexFacade.Watch(new WatchTarget(EntryType.File, Path.GetFullPath(file.Path)));
            }

            _indexFacade.ProcessingTaskStarted  += processingTaskStarted;
            _indexFacade.ProcessingTaskFinished += processingTaskFinished;
            _indexFacade.FileSystemDeniedAccess += fileSystemDeniedAccess;
            _indexFacade.BackgroundLoopFailed   += backgroundLoopFailed;

            _indexFacade.FileCreated += fileCreated;
            _indexFacade.FileDeleted += fileDeleted;
            _indexFacade.FileMoved   += fileMoved;

            _indexFacade.Idle += indexFacadeIdle;
        }