我试图将文件索引到solrj。我使用Solr4.5,我有大量的文件要编入索引。有什么方法可以为每个文件编制索引以避免性能瓶颈。
答案 0 :(得分:0)
使用solr。每个文档的更新都很慢。
您可以更好地添加所有文档,然后执行更新提交。 取自solr wiki:
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 );
答案 1 :(得分:0)
要检查的第一件事是服务器端日志并查找有关提交的消息。解析每个文件后,您可能正在进行硬提交。这太贵了。您可以查看软提交或commitWithin params以稍后显示文件。
其次,您似乎向Solr发送请求以获取您的文件并在其上运行Tika提取。因此,这可能每次都会在Solr内重新启动Tika。您将无法按照其他答案的建议进行批处理。
但是你可以在你的客户端本地运行Tika并初始化它并保留它。这样就可以更灵活地构建SolrInputDocument,然后可以批量处理。