private void EditAdd()
{
Document doc = new Document();
Analyzer a;
string analyzerName = (string)cmbAnalyzers.SelectedItem;
if (null == analyzerName || analyzerName == string.Empty)
{
analyzerName = "Lucene.Net.Analysis.Standard.StandardAnalyzer";
cmbAnalyzers.SelectedItem = analyzerName;
a = new StandardAnalyzer(Luke.LUCENE_VERSION);
}
else
{
a = Analyzing.GetAnalyzerForName(analyzerName);
if (null == a)
{
luke.ShowStatus(string.Format(resources.GetString("AnalyzerNotFound"), analyzerName));
a = new StandardAnalyzer(Luke.LUCENE_VERSION);
}
}
foreach (Field f in fields)
{
doc.Add(f);
}
IndexWriter writer = null;
Directory dir = luke.IndexReader.Directory();
try
{
luke.IndexReader.Close();
writer = new IndexWriter(dir, a, IndexWriter.MaxFieldLength.UNLIMITED);
writer.AddDocument(doc);
}
catch (Exception exc)
{
luke.ErrorMessage(exc.Message);
}
finally
{
try
{
if (writer != null)
{
writer.Commit();
writer.Close();
}
}
catch (Exception)
{
}
try
{
luke.IndexReader = IndexReader.Open(dir, true);
}
catch (Exception e2)
{
luke.ErrorMessage(e2.Message);
}
}
}