2011-04-20 65 views
0

我使用数据库中的某些数据创建索引。以下是代码:SOLR向现有索引添加新数据

 // Load the documents into the index 
     try { 
      // $documents holds all the documents 
      $solr->addDocuments($documents);  
      $solr->commit(); 
      $solr->optimize(); 
     } catch (Exception $e) { 
      print $e->getMessage(); 
     } 

它正在创建索引正确。现在,如果我想向它添加一些额外的数据,我应该按照与这些额外数据相同的过程,还是有任何其他过程来更新solr索引?

如果我遵循相同的流程,它会覆盖现有的索引还是只更新它?

回答

2

Lucene的索引过程由插入和删除组成。 Solr通过模式设计和实施,通过在一个方法调用中组合删除/插入序列,通过消息处理程序提供类似更新的功能。

当您的模式设计包含uniqueKey时,发布Solr更新将自动更新索引中的记录。

+0

是的,我的模式确实包含一个唯一的密钥。所以,你在说,我可以继续使用添加文档的相同过程。 – Swar 2011-04-20 13:53:08

+0

@Swar - 是的,您可以继续按照原样编制索引过程。 – jro 2011-04-20 14:57:05