Iam尝试将文档索引到solrj。 iam使用Solr4.5,我有大量的文件被索引。索引每个文件的方法是什么,以避免性能瓶颈。将大量文件添加到Solr中
回答
检查的第一件事是服务器端的日志,并查找有关提交信息。解析每个文件后,您可能会做出一个艰难的提交。这太贵了。你可以看看软提交或commitWithin参数让文件稍后显示。其次,您似乎正在向Solr发送请求,以获取您的文件并运行Tika提取。所以,这可能会每次重新启动Solr内部的Tika。您将无法批处理,因为其他答案似乎暗示。
但是你可以在你的客户端本地运行Tika并初始化一次并保持它。这就为如何构建SolrInputDocument提供了更多的灵活性,然后您可以对其进行批处理。
我们如何运行泰克提取外部。我认为solrj会在内部处理这件事。 – user3161879
如果我正确理解您的代码,您将发送此请求以提取处理程序。这意味着Solr *服务器*正在运行Tika。相反,您可以在Java进程中实例化Tika并自行运行它。你会失去一些Solr实现的字段映射功能,但我怀疑你还没有使用它。 –
是的,会尝试你的建议和检查。但还有一件事情,当iam试图逐一索引多个文档时,它成功索引了100,000条记录,然后它开始说服务器的其余部分说服务器在http:// servername/solr /返回非正常状态:500,消息:内部服务器错误。可能是什么原因? – user3161879
solr对每个文档的更新速度很慢。
添加所有文档,然后使用更新进行提交会更好。 从Solr的维基摘自:
Collection<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
docs.add(doc1);
docs.add(doc2);
UpdateRequest req = new UpdateRequest();
req.setAction(UpdateRequest.ACTION.COMMIT, false, false);
req.add(docs);
UpdateResponse rsp = req.process(server);
Iam通过逐行解析另一个文件来获取每个区域的索引。所以我没有收集任何文件。我一次只有一个文件。每当我循环时,我应该向这个集合添加文件吗?然后调用该集合的更新请求? – user3161879
@ user3161879是的,将它们添加到集合中,完成后,使用集合进行更新请求。 –
我更改了代码,并将收集文档传递给服务器solr。但是里面的每个文档都有明确设置的id。但是solr正在抛出一个例外,因为Document缺少必需的uniqueKey字段:id。还有什么需要做的。 – user3161879
- 1. 如何将大量资源文件添加到monodouch项目中?
- 2. 如何将大量的静态文件添加到MonoTouch包中?
- 3. 添加文件到Solr 4.5.1与Java
- 4. 添加文件到solr与C#
- 5. 将变量添加到.js文件
- 6. 将变量添加到文件路径
- 7. 如何将标题添加到大量文件(空/非空)
- 8. 在Java中添加PDF文档到Solr
- 9. 将加密添加到Solr/lucene索引
- 10. SOLR Tika:将文件添加到现有记录(ExtractingRequestHandler)
- 11. 将大文本文件添加到资产文件夹
- 12. Dropzone将添加的行数添加到dropzone的文件数量?
- 13. 将文本添加到文件bash中时使用变量
- 14. 将大量大文件传输到s3
- 15. 将.war添加到solr 4 webapps
- 16. 将字段添加到Solr架构
- 17. Solr - 将条款添加到方面
- 18. solr:将内容处置添加到SolrQueryResponse
- 19. 将字幕添加到solr XML exampledocs
- 20. 如何将批量收件人文件添加到信封中?
- 21. 如何将大量列添加到大小写组中?
- 22. 如何以高效的内存方式将大量文件添加到zip中?
- 23. 将行添加到文件
- 24. 将文件添加到.apk
- 25. 将html添加到文件
- 26. 将文件添加到MSI
- 27. Solr的6.1警告:无法添加文件到classpath中
- 28. 如何将大文件添加到c#项目中的资源?
- 29. 将uuid4大整数加到文件中
- 30. 将文件上传到C#中的solr
我们说了多长时间?你只需要索引这些文件一次。 –
@Bartlomiej Lewandowski:它在1小时内索引35,000条记录。所以我有70万条记录的总记录需要等待休息。 。是的,我必须索引这些文件一次。但iam调用每个文件的solr更新请求。 – user3161879