Exemplo n.º 1
0
        public void Clean(IndexCleanup mode)
        {
            Debug.Assert(mode != IndexCleanup.None, "mode != IndexCleanup.None");

            _converter?.Clean();
            _indexSearcherHolder.Cleanup(_index._indexStorage.Environment().PossibleOldestReadTransaction(null), mode);

            if (mode.HasFlag(IndexCleanup.Writers))
            {
                if (_indexWriter != null)
                {
                    // schedule index run only if clean is really needed
                    _indexWriterCleanupNeeded = true;
                    _index.ScheduleIndexingRun();
                }
            }

            if (mode.HasFlag(IndexCleanup.Readers))
            {
                lock (_readersLock)
                {
                    _lastReader?.DecRef(null);
                    _lastReader = null;
                }
            }
        }
Exemplo n.º 2
0
 public void Clean()
 {
     _converter?.Clean();
     _indexSearcherHolder.Cleanup(_index._indexStorage.Environment().PossibleOldestReadTransaction(null));
 }