SolrQuery::getGroupMain()

获取是否将分组结果作为主结果集返回

首字母:S

函数名称:SolrQuery::getGroupMain()

适用版本:Solr 5.2.0及更高版本

函数说明:SolrQuery::getGroupMain()函数用于获取是否将分组结果作为主结果集返回。当启用分组时,可以使用此函数来确定是否将分组结果作为主结果集返回。

函数用法:

public function SolrQuery::getGroupMain(): bool

参数说明:此函数不接受任何参数。

返回值:返回一个布尔值,表示是否将分组结果作为主结果集返回。如果返回true,则表示分组结果作为主结果集返回;如果返回false,则表示分组结果不作为主结果集返回。

示例代码:

$query = new SolrQuery();
$query->setQuery('category:electronics');
$query->addGroupField('brand');
// 设置将分组结果作为主结果集返回
$query->setGroupMain(true);
// 执行查询
$response = $client->query($query);
// 获取分组结果作为主结果集的返回值
$groupMain = $query->getGroupMain();
// 输出分组结果
if ($groupMain) {
 $groupedResults = $response->getGroupingResponse()->getGroupField('brand');
 foreach ($groupedResults as $group => $result) {
 echo 'Brand: ' . $group . PHP_EOL;
 echo 'Number of documents: ' . $result->getNumFound() . PHP_EOL;
 echo 'Documents:' . PHP_EOL;
 foreach ($result as $doc) {
 echo '- ' . $doc->id . PHP_EOL;
 }
 }
} else {
 // 输出主结果集
 $results = $response->getResponse()->response->docs;
 foreach ($results as $doc) {
 echo 'Document ID: ' . $doc->id . PHP_EOL;
 echo 'Document Score: ' . $doc->score . PHP_EOL;
 // 输出其他字段信息
 }
}

在上面的示例中,我们创建了一个Solr查询对象,并设置了一个查询条件和一个分组字段。然后,我们使用setGroupMain()函数将分组结果作为主结果集返回。最后,我们执行查询并根据getGroupMain()函数的返回值来输出相应的结果。如果返回值为true,则输出分组结果;如果返回值为false,则输出主结果集。

同首字母函数