0

我喜欢在 N 秒后得到 Lucene.NET 的响应,甚至还没有结果。如何?

目前我面临一个问题。所有 Lucene.NET 索引都位于一个中心位置,每个实例在重新启动后必须将索引复制到本地,然后才能进行搜索。

复制将在第一次 Lucene.NET 请求后启动,并需要几分钟才能完成。目前所有 Lucene.NET 都只是挂起等待,所以我喜欢强迫他们无论如何都做出响应。

请帮忙。

[EIDT]

所以路径是 using TimeLimitingCollector,这给了我另一个问题,如何一起使用多个连接器?

我的原始代码是:

TopFieldCollector collector = TopFieldCollector.create(Sort.RELEVANCE, resultAmount,
                            false,
                            true /* trackDocScores */,
                            true /* trackMaxScore */,
                            false /* docsInOrder */);
                        searcher.Search(query, new PositiveScoresOnlyCollector(collector));

我应该放在哪里TimeLimitingCollector

4

1 回答 1

2

您可以使用TimeLimitingCollector

[编辑]

我不熟悉 Lucene.NET,但使用 Lucene Java,您只需将收集器包装在 TimeLimitingCollector 中,每当尝试收集文档时,它都会抛出超时异常。

于 2012-08-02T16:17:23.487 回答