Lucene.Net.LukeNet.Luke.menuItemOptimize_Click C# (CSharp) Метод

menuItemOptimize_Click() приватный Метод

private menuItemOptimize_Click ( object sender, System e ) : void
sender object
e System
Результат void
        private void menuItemOptimize_Click(object sender, System.EventArgs e)
        {
            if (indexReader == null)
            {
                ShowStatus(resources.GetString("NoIndex"));
                return;
            }
            if (_readOnly)
            {
                ShowStatus(resources.GetString("Readonly"));
                return;
            }

            try
            {
                indexReader.Close();
                IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(), IndexWriter.MaxFieldLength.UNLIMITED);
                writer.SetUseCompoundFile(useCompound);
                long startSize = FilesTabPage.CalcTotalFileSize(dir);
                DateTime startTime = DateTime.Now;
                writer.Optimize();
                DateTime endTime = DateTime.Now;
                long endSize = FilesTabPage.CalcTotalFileSize(dir);
                long deltaSize = startSize - endSize;
                String sign = deltaSize < 0 ? " Increased " : " Reduced ";
                String sizeMsg = sign + FilesTabPage.NormalizeSize(Math.Abs(deltaSize)) + FilesTabPage.NormalizeUnit(Math.Abs(deltaSize));
                String timeMsg = ((TimeSpan)(endTime - startTime)).TotalMilliseconds + " ms";
                ShowStatus(sizeMsg + " in " + timeMsg);
                tabFiles.ShowFiles(dir);
                writer.Close();
                indexReader = IndexReader.Open(dir, true);

                InitOverview();
            }
            catch (Exception exc)
            {
                ShowStatus(exc.Message);
            }
        }