酶
我有一个可能有数百万份文件的索引。我想对这些文件的一部分(大约25,000份文件)进行大约20'0000次搜索。这25,000个文档可以占用存储在Solr中的大约100 MB (由存储和索引文本字段组成)。
问题
随着索引文档数量的增加,查询的性能会下降很多。例如,在100,000个文档索引上运行20,000次搜索,达到25,000个文档,大约需要4分钟。在200000文档索引上运行相同的搜索大约需要20分钟。
那么,在搜索之前,有没有办法将这25,000个文档缓存在RAM中呢?
更新
一些真正有用的东西:
一些没有真正帮助的事情:
fq=name:a AND type:b
)。使用fq=name:a&fq=type:b
将它们分开缓存(参见Apache文档),可以提高性能。但在这件事上并没有太大的不同。发布于 2015-06-24 07:32:26
为性能推荐的几点事情:
- Try to use Filter query (FQ) whenever possible. They are much faster than doing field:val in q, plus they are cached.
https://stackoverflow.com/questions/31027493
复制相似问题