添加
protected void InsertDoc(Index obj, float f)
{
Document doc = BindToDocument(obj);
//设置Boost值
if (f > 0.0000f) { doc.SetBoost(f); }
lock (objLock)
{
IndexWriter writer = null;
try
{
Directory dir = FSDirectory.GetDirectory(IndexDir(), false);
writer = new IndexWriter(dir, GetAnalyzer(), false);
writer.AddDocument(doc);
}
catch (Exception ex)
{
ErrorHandle(ex);
}
finally
{
if (writer != null)
writer.Close();
}
}
}
删除
protected void DeleteDoc(Term t)
{
lock (objLock)
{
IndexModifier modifier = null;
try
{
Directory dir = FSDirectory.GetDirectory(IndexDir(), false);
modifier = new IndexModifier(dir, GetAnalyzer(), false);
modifier.DeleteDocuments(t);
}
catch (Exception ex)
{
ErrorHandle(ex);
}
finally
{
if (modifier != null)
modifier.Close();
}
}
}
优化
public void OptimizeIndex()
{
lock (objLock)
{
Directory dir = FSDirectory.GetDirectory(IndexDir(), false);
IndexWriter writer = new IndexWriter(dir, GetAnalyzer(), false);
try
{
writer.Optimize();
}
catch (Exception ex)
{
ErrorHandle(ex);
}
finally
{
writer.Close();
}
}
}