函式名稱:SolrQuery::setFacetSort()
適用版本:Solr 4.0.0及以上版本
用法:該函式用於設定Solr查詢中的facet排序方式。facet是Solr中用於進行結果聚合和分類統計的功能,可以對查詢結果中的某個欄位進行分組,並統計每個分組的數量。
示例:
// 建立Solr查詢物件
$query = new SolrQuery();
// 設定查詢語句
$query->setQuery('category:electronics');
// 啟用facet功能
$query->setFacet(true);
// 設定facet欄位
$query->addFacetField('brand');
// 設定facet排序方式為按照計數值降序排序
$query->setFacetSort(SolrQuery::FACET_SORT_COUNT);
// 執行查詢
$response = $client->query($query);
// 獲取facet結果
$facetResult = $response->getFacetSet()->getFacet('brand');
// 遍歷輸出每個facet分組及其對應的數量
foreach ($facetResult as $value => $count) {
echo $value . ': ' . $count . '<br>';
}
在上面的示例中,我們首先建立了一個Solr查詢物件,並設定了查詢語句為category:electronics
。然後,我們啟用了facet功能,並新增了一個facet欄位brand
。接下來,我們呼叫setFacetSort()
函式,將facet排序方式設定為按照計數值降序排序。
最後,我們執行查詢並獲取facet結果。透過遍歷結果,我們可以輸出每個facet分組及其對應的數量。
請注意,該示例僅為演示目的,實際應用中你需要根據自己的需求進行適當的調整。