获取字段名称的solr问题

时间:2009-12-15 16:57:41

标签: php object full-text-search solr

我遇到了问题。在每个文档中我都有字段:threads.id和posts.id。

我想获取它们的字段名称值,以便我可以从数据库中获取数据。

在我下面的线之间标记了我想要获取字段的行。

但它返回错误,因为它们是$ doc是对象。

我怎样才能获得这些字段?我必须在迭代文档时执行此操作,而不是在迭代$ field和$ value时执行此操作。

 // iterate document
 foreach ($results->response->docs as $doc)
 {

---------------------------------------
$forum_model->get_country_id_by_thread_id($doc['threads.id']);
$forum_model->get_user_id_by_thread_id($doc['posts.id']);
----------------------------------------

// iterate document fields / values
foreach ($doc as $field => $value)
{
    echo htmlspecialchars($field, ENT_NOQUOTES, 'utf-8') . "<br />";
    echo htmlspecialchars($value, ENT_NOQUOTES, 'utf-8') . "<br />";
    //echo $doc['threads.title'] . "<br/>";
}

}

2 个答案:

答案 0 :(得分:1)

根据PHPDocs,我认为你想......

$threads = $doc->getField('threads.id')

答案 1 :(得分:1)

在大多数情况下,您可以使用:

$value = $doc->fieldname;

或者,如果您的fieldname不是合法的PHP变量,

$field = $doc->getField('field.name');
$value = $field['value'];