2012-03-22 47 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時正確執行。