我正在使用 AzureDirectory 和 Lucene .NET 2.9.4,但我有两个问题:
- 搜索器似乎没有那么快。我正在使用这些设置进行索引: indexWriter.SetUseCompoundFile(false); indexWriter.SetMergeFactor(1000); 索引大约是 3.5gb,它有 12.126.436 个文档。即使索引已经在本地磁盘上,创建 indexSearcher 也需要大约 5 分钟或更长时间。索引是否太大?我尝试在两个字段上使用 MultiFieldQueryParser 执行单个术语搜索。字段上的 TermVector 已关闭
- 建议到处只创建 indexSearcher 的实例并在查询之间共享它(实际上创建速度很慢),但我不知道如何在各种 web 之间共享 Searcher 单例(它是执行搜索的类)要求。如果我在 webrole 类上创建单例,那么如何使用该实例来执行搜索?此时,每个 Web 请求都会重新创建单例。
非常感谢