Exemple #1
0
        public static void ApplyTo(IndexWriter writer)
        {
            writer.MergeFactor  = MergeFactor;
            writer.MaxMergeDocs = MaxMergeDocs;

            var mergePolicy = new LogByteSizeMergePolicy(writer)
            {
                MaxMergeDocs = MaxMergeDocs,
                MergeFactor  = MergeFactor,
                MinMergeMB   = MinMergeMB,
                MaxMergeMB   = MaxMergeMB
            };

            writer.SetMergePolicy(mergePolicy);
        }
        public void ApplyToWriterConfig(IndexWriterConfig config)
        {
            try
            {
                // possibly take in a MergePolicy or configure it elsewhere
                var mergePolicy = new LogByteSizeMergePolicy();
                if (MergeFactor != null)
                {
                    mergePolicy.MergeFactor = (int)MergeFactor;
                }

                if (MaxMergeDocs != null)
                {
                    mergePolicy.MaxMergeDocs = (int)MaxMergeDocs;
                }

                config.MergePolicy = mergePolicy;

                if (MaxBufferedDocs != null)
                {
                    config.SetMaxBufferedDocs((int)MaxBufferedDocs);
                }

                if (RamBufferSizeMb != null)
                {
                    config.SetRAMBufferSizeMB((int)RamBufferSizeMb);
                }

                if (TermIndexInterval != null)
                {
                    config.SetTermIndexInterval((int)TermIndexInterval);
                }
            }
            catch (ArgumentOutOfRangeException)
            {
                // TODO: Log it
            }
        }