强制Lucene.NET以N秒显示结果

时间:2012-08-02 12:48:48

标签: lucene lucene.net

我喜欢在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

1 个答案:

答案 0 :(得分:2)

您可以使用TimeLimitingCollector

<强> [编辑]

我不熟悉Lucene.NET,但是使用Lucene Java,你只需要将你的收集器包装在TimeLimitingCollector中,并且每当试图收集文档时都会抛出一个超时异常。