我喜欢在N秒后得到Lucene.NET的回复,甚至还没有结果。怎么样?
目前我遇到了一个问题。所有Lucene.NET索引都位于一个中心位置,每个实例在重新启动后都必须将索引复制到本地,然后才能进行搜索。
副本将在第一个Lucene.NET请求后启动,并需要几分钟才能完成。目前所有的Lucene.NET都只是挂起并等待,所以无论如何我都希望他们能够做出回应。
请帮忙。
[EIDT]
所以路径正在使用TimeLimitingCollector
,这给了我另一个问题,如何一起使用多个连接器?
我的原始代码是:
TopFieldCollector collector = TopFieldCollector.create(Sort.RELEVANCE, resultAmount,
false,
true /* trackDocScores */,
true /* trackMaxScore */,
false /* docsInOrder */);
searcher.Search(query, new PositiveScoresOnlyCollector(collector));
我应该在哪里放置TimeLimitingCollector
?
答案 0 :(得分:2)
您可以使用TimeLimitingCollector。
<强> [编辑] 强>
我不熟悉Lucene.NET,但是使用Lucene Java,你只需要将你的收集器包装在TimeLimitingCollector中,并且每当试图收集文档时都会抛出一个超时异常。