Exemple #1
0
        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);
                    }
                }
            }
        }