2012-03-22 44 views
1

如果我做到以下几点:Solr的命令,然后提交

$solr->deleteByQuery('nid:'.$nid); 
$solr->addDocument($doc); 
$solr->search('*:*', 0, 0, array('fq' => 'type:datacollection', 'facet.limit' => -1, 'facet' => 'true', 'facet.field' => 'nid', 'facet.mincount' => 1)); 


$solr->commit(); 

2个问题:

  1. 将删除发生,然后附加(按顺序)
  2. 将搜索考虑帐户,我做了删除和添加? (或者我必须在提交后执行搜索)

回答

1

除非发出提交,否则搜索将不会看到您的删除并添加结果。只有当其他人正在进行提交时,才会看到这些更改,因为只有在搜索后您的代码才会提交提交。

当然,删除会在添加之前发生。它们是同步命令,它们在您将它们发送到Solr时正确执行。