可能重复:
SolrJ addFile 使文档保持打开状态
大家好,
我对 Apache Solr 很陌生。我的情况如下:
当我的应用程序启动时,它会扫描一个目录并将该目录中的所有 pdf 文件添加到 Solr 索引(使用 SolrJ 的 ContentStreamUpdateRequest):
但是,该应用程序还利用 JNotify 来监视文件夹,以便在文件更改时更新 Solr 的索引。
问题如下:在对目录进行初始扫描后,一切正常,在将相应文件流式传输到 Solr 后,所有文件句柄都被删除。但是如果目录中发生更改(例如重命名文件),SolrJ 似乎并没有放开更改文件的句柄,因此无法再对其进行修改。
我在这里做错了什么?(下面的片段既用于初始扫描,也用于文件更改时)
protected boolean addDocument( File doc ) throws IOException, SolrServerException {
ContentStreamUpdateRequest csur = new ContentStreamUpdateRequest( "/update/extract" );
csur.addFile( doc );
csur.setParam( "literal.id", Utils.getAbsolutePath( doc ) );
csur.setAction( AbstractUpdateRequest.ACTION.COMMIT, true, true );
NamedList<Object> result = solr.request( csur );
return result != null;
}
感谢您提前提出任何建议