SolrJ保持索引文件打开

时间:2011-02-12 16:47:35

标签: java solrj solr

  

可能重复:
  SolrJ addFile keeps documents open

嘿伙计们,

我对Apache Solr很新。我的情况如下:

当我的应用程序启动时,它会扫描目录并将该目录中的所有pdf-Files添加到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;
}

预先提出任何建议

0 个答案:

没有答案