private void RebuildIndex(string notePath, string indexPath) { // TODO - make sure index is closed! if (System.IO.Directory.Exists(indexPath)) { System.IO.Directory.Delete(indexPath, true); } using (var indexDir = FSDirectory.Open(indexDirectoryInfo)) { var config = new IndexWriterConfig(LuceneVersion.LUCENE_48, analyzer); using (var indexWriter = new IndexWriter(indexDir, config)) { foreach (var note in notebook.GetAllNotes()) { var doc = new Document(); var reader = new FileInfo(note.Path).OpenText(); doc.AddStringField("Name", note.Name, Field.Store.YES); doc.AddStringField("Url", note.Url, Field.Store.YES); doc.AddTextField("Content", reader); indexWriter.AddDocument(doc); } } } }