首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在solr中查找最短索引时间

在solr中查找最短索引时间
EN

Stack Overflow用户
提问于 2013-11-22 16:49:21
回答 2查看 207关注 0票数 0

说明(供参考):

我想索引一个完整的文件驱动器:~2TB

我正在获取文件列表(使用commons库)。

一旦我有了文件列表,我就会检查每个文件,并使用Apache Tika提取可读的数据。

一旦我有了数据,我就用solr对它进行索引。

我在java应用程序中使用solrj

我的问题是:如何决定要传递给Solr的集合的大小。我试着传递不同的大小,有不同的结果,即有时150个文档每个集合比100个文档更好,但有时它们没有。是您可以调整的最佳方式/配置,因为必须反复执行此过程。

并发症:

1)文件存储在网络驱动器上,检索文件名/文件也需要一些时间。

2)这个程序(java应用程序)和solr本身都不能使用超过512 of的ram。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-25 10:46:00

我将仅列举一些可能影响索引速度的参数。通常需要对自己的硬件、RAM、数据处理复杂度等进行实验,才能找到最佳的组合,即没有单一的银弹。

  1. 将索引期间的段数增加到一些大的数。比如说,10k。这将确保段的合并不会像默认的段数10那样频繁发生。在索引期间合并段有助于减缓索引的速度。在索引完成后,您将不得不合并这些段,这样搜索引擎才能执行。还可以将片段的数量减少到一些合理的部分,比如10段。
  2. 在索引期间减少容器上的日志记录。这可以使用solr管理UI来完成。这使得索引的过程更快。
  3. 要么减少自动提交的频率,要么关闭它们并控制提交。
  4. 删除批量索引的预热查询,不要自动复制任何缓存条目.
  5. 使用ConcurrentUpdateSolrServer,如果使用SolrCloud,则使用CloudSolrServer。
票数 0
EN

Stack Overflow用户

发布于 2013-12-28 11:31:35

注释掉单个核上的自动提交、日志和索引。在solrj中使用多线程(线程数= cpu *2中的线程数)来命中单个核心。

问候

拉贾特

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20150160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档