我知道有一些类似的问题,但是当我搜索时,它们都不适合实时搜索。
我的情况是我有超过几百万的小文本文件,为了索引我能够达到每百万个文件3分钟,这是可以的。问题在于搜索。
为了获得实时响应,我的搜索必须尽可能快。目前,它以某种方式返回结果8-10秒。虽然查询本身有点大,但这不应该是主要原因。
索引时,我使用了以下配置
public static LogMergePolicy optimizeIndex() {
LogMergePolicy mergePolicy = new LogByteSizeMergePolicy();
mergePolicy.setMergeFactor(2);
mergePolicy.setMaxMergeDocs(50000);
return mergePolicy;
}
和
IndexWriterConfig config =new IndexWriterConfig(Version.LUCENE_46, analyzer);
config.setMergePolicy(optimizeIndex());
config.setUseCompoundFile(false);
config.setRAMBufferSizeMB(16);
config.setMaxBufferedDocs(50000);
所以我对如何从搜索获得实时响应的任何想法?