我有以下代码,我传递一个搜索值和一个分析器:
private static Query Query(string searchValue, StandardAnalyzer analyzer)
{
var queryParser = new QueryParser(Version.LUCENE_30, "Data", analyzer);
return queryParser.Parse(searchValue);
}
Run Code Online (Sandbox Code Playgroud)
Parse方法中抛出异常.
结果正确返回,所以一切正常; 这只是一个恼人的例外.我想忽略它吗?它是Lucene.Net的默认行为吗?我正在使用3.0.3版.
之前发现此帖子,但答案中提到的所有要点均不适用.索引没有损坏 - 在Luke.Net和Lucene的CheckIndex类中检查.写权限没有问题,因为我可以写入索引,而其他任何东西都没有使用索引文件.
Lucene和Lucene.net都设计了Exceptions,用于确定代码的控制流.调试器符号运行时,您将看到异常.但是,应该在库中隔离和处理异常.如果您没有处理异常并在UI中抛出错误,那么这就是一个问题.
我实际上在非常具体的场景中删除了Lucene中的一些例外,并获得了巨大的性能提升......但我确信不建议这样做.
| 归档时间: |
|
| 查看次数: |
2128 次 |
| 最近记录: |