函式名稱:SolrQuery::__construct()
適用版本:SolrQuery類在PHP擴充套件庫Solr 2.0.0及以上版本中可用。
函式用法:SolrQuery::__construct()是SolrQuery類的建構函式,用於建立一個新的SolrQuery物件。
示例:
// 引入Solr擴充套件
extension_loaded('solr') or die('Solr extension not found');
// 建立SolrQuery物件
$query = new SolrQuery();
// 設定查詢引數
$query->setQuery('keyword:example');
$query->setStart(0);
$query->setRows(10);
$query->addField('id');
$query->addField('title');
$query->addFilterQuery('category:book');
$query->setSort('price', SolrQuery::SORT_ASC);
// 執行查詢
$results = $client->query($query);
// 處理查詢結果
if ($results->getResponse()->getHttpStatus() == 200) {
$response = $results->getResponse();
$numFound = $response->response->numFound;
$docs = $response->response->docs;
echo "Total results found: " . $numFound . "\n";
foreach ($docs as $doc) {
echo "ID: " . $doc->id . "\n";
echo "Title: " . $doc->title . "\n";
echo "Category: " . $doc->category . "\n";
echo "Price: " . $doc->price . "\n";
echo "----------------------\n";
}
} else {
echo "Solr query failed.\n";
}
在上面的示例中,我們首先引入了Solr擴充套件並確保其可用。然後,我們使用new SolrQuery()
建立了一個新的SolrQuery物件。接下來,我們使用一系列的函式來設定查詢引數,例如setQuery()用於設定查詢關鍵字,setStart()和setRows()用於設定查詢結果的分頁引數,addField()用於指定返回的欄位,addFilterQuery()用於新增過濾條件,setSort()用於設定排序規則等。
最後,我們使用建立的SolrQuery物件來執行查詢,將結果儲存在$results變數中。我們透過檢查返回的HTTP狀態碼來確保查詢成功,並透過getResponse()方法獲取查詢結果的詳細資訊。然後,我們可以遍歷結果集並輸出每個文件的相關欄位。
請注意,上述示例僅供參考,實際使用時需要根據實際情況進行適當的修改和調整。