2012-03-23 51 views
0

我將文檔發佈到SOLR服務器,每提交一次大約5000個文檔。在多次提交結束時,我查看SOLR管理面板,而不是他們的280,000個文檔,SOLR管理面板報告僅包含5000個文檔。類SolrServer未更新

它看起來像每次我打電話提交文件被覆蓋。然而,這些指數的規模正在擴大。

這裏是我指的是API: http://lucene.apache.org/solr/api/org/apache/solr/client/solrj/SolrServer.html#add%28java.util.Collection%29

這裏是代碼:

private final SolrServer server; 
    this.server = new CommonsHttpSolrServer(getPropertyManager().getSolrMasterUrl()); 
    final Collection<UpdateResponse> responses = new ArrayList<UpdateResponse>(4); 
    responses.add(server.add(solrDocuments)); 
    responses.add(server.optimize()); 
    responses.add(server.commit()); 

我每次看到SOLR增加索引以KB是有承諾的另一5000個文件,索引增長。但是,SOLR管理員小組報告只有5,000個文檔,所以沒有任何意義。

numDocs:5164

maxDoc:5164

版本:1332445599423

segmentCount:1

電流:真

hasDeletions:假

目錄:組織。 apache.lucene.store.SimpleFSDir ectory:org.apache.lucene.store.SimpleFSDirectory @ Z:\ jboss-soa-p-5 \ jboss-as \ server \ experimental \ solr \ data \ index lockFactory = [email protected]

lastModified:2012-03-23T13:38:53.539Z

回答

0

檢查以確保您每次發送的5000個文檔都是唯一的。如果您每次發送相同的文檔,Solr足夠聰明,只需用新文檔替換舊文檔(如果其他字段不同),否則它將忽略添加文檔的請求,因爲它已經具有匹配的副本。

這是根據schema.xml文件中的<uniqueKey>設置完成的。因此,如果您的文檔具有指定爲uniqueKey的id字段,並且您將它們編號爲1 - 5000,並且您繼續將相同的文檔集發送到Solr,它將只會忽略添加集的請求。