using System.IO; using Lucene.Net.Analysis; using Lucene.Net.Analysis.Standard; using Lucene.Net.Documents; using Lucene.Net.Index; using Lucene.Net.Store; using Lucene.Net.Util; namespace CrashingLucene { class Program { static void Main(string[] args) { var dir = FSDirectory.Open(@"C:\CrashingLuceneIdx"); var writer = new IndexWriter(dir, new StandardAnalyzer(Version.LUCENE_30), IndexWriter.MaxFieldLength.UNLIMITED); writer.UseCompoundFile = false; var doc = new Document(); for (int i = 0; i < int.MaxValue; i++) { doc.Add(new Field("someField", "value " + i, Field.Store.YES, Field.Index.ANALYZED)); writer.AddDocument(doc); doc.GetFields().Clear(); } // using the default merge policy writer.UseCompoundFile = true; writer.Optimize(); writer.Close(); } } }