【发布时间】:2014-06-11 12:39:08
【问题描述】:
我只是想让它有点可重复使用,因为我知道我会再次需要它,我很好奇我将如何实现它?如果需要,$solr->addDocuments($bleh) 可以省略。
$solr = New SolrClient([
'hostname' => $config->Solr->hostname,
'wt' => $config->Solr->response,
'port' => $config->Solr->port,
'path' => $config->Solr->path,
]);
$docsArray = [];
foreach ($recordset AS $key => $array)
{
$docsArray[$key] = New SolrInputDocument();
foreach($array AS $id => $value)
$docsArray[$key]->addField($id, $value);
}
$solr->addDocuments($docsArray);
更新
如果我能得到一种方法,可以递归地将这些添加到Solr->addField($k, $v, $i); 中,我可以解决这个问题!这里的关键是递归添加Solr字段
【问题讨论】:
-
这会起作用,但它也不会是一个闭包。至少 +1。
-
array_walk_recursive() 将闭包作为参数,你到底想要什么?
-
@MarkBaker 类似这样的东西:pastebin.com/WpbAstPz
-
请注意,这是一个可怕的无效示例......