These codes are written in C#,. There is a C# version of Lucene 1.9, which
can be downloaded from http://www.dotlucene.net
This implements the indexing .
public void CreateIndex()
{
try
{
AddDirectory(directory);
writer.Optimize();
writer.Close();
directory.Refresh();
}
catch (Exception e)
{
fmLog.AddLog(fmLog.LogType.Error, Current.User.ID, e.Message
);
return;
}
}
This is a wrapper of IndexSearcher. At first , I want to use a singleton
IndexSearcher. But then I found the updated document can't be retrieved
immediately. So Every time I instantiate a new IndexSeacher, although it is
inefficient.
public class SingletonSearcher
{
SingletonSearcher searcher
IndexSearcher indexSearcher = null;
static Object o = typeof(SingletonSearcher);
/// <summary>
///
/// </summary>
/// <returns></returns>
private SingletonSearcher(String indexPath)
{
try
{
indexSearcher = new IndexSearcher(indexPath);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
searcher = null;
}
}
public static SingletonSearcher GetSearcher()
{
//lock (o)
//{
// if (searcher == null)
// searcher = new SingletonSearcher(Current.Server.Path);
// return searcher;
//}
return new SingletonSearcher(Current.Server.Path);
}
public static Hits GetHits(Query query)
{
if (GetSearcher() == null)
return null;
else if (GetSearcher().indexSearcher == null)
return null;
return GetSearcher().indexSearcher.Search(query);
}
}
2006/7/28, Doron Cohen <[EMAIL PROTECTED]>:
> Yes, I have closed IndexWriter. But it doesn't work.
This is strange...
Can you post a small version of your code that can be executed to show the
problem?
- Doron
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]