我在 .net Web 应用程序中使用 Lucene API。 我想对所有请求使用相同的 Indexsearcher 实例。因此,我将 Indexsearcher 实例存储在 http 缓存中。
这是我的代码:
if (HttpRuntime.Cache["IndexSearcher"] == null)
{
searcher = new IndexSearcher(jobIndexFolderPath);
HttpRuntime.Cache["IndexSearcher"] = searcher;
}
else
{
searcher = (IndexSearcher)HttpRuntime.Cache["IndexSearcher"];
}
当我执行下面的语句时,出现运行时错误:“对象引用未设置到对象的实例。”
点击次数 = searcher.Search(myQuery);
我在这里缺少什么?
感谢您的阅读!
最佳答案
尝试如下操作:
protected static IndexSearcher searcher = null;
...
if (searcher == null)
{
searcher = new IndexSearcher(jobIndexFolderPath);
}
关于lucene - 对多个请求使用同一 indexSearcher 实例时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/899542/