#Laravel Google 自訂搜尋引擎 Laravel 軟體包可從免費和付費版本的 Google 自訂搜尋引擎 API 取得 Google 自訂搜尋結果。
隨著 Swiftype 關閉免費計劃,我開始尋找一些無需太多編碼的替代方案,但沒有成功。我發現最好的是 Spatie 的 Google CSE 付費版本的 Google 搜尋包,因此我以類似的方式做了一些研究和開發包,但獨立於 Google CSE 版本。
如果你喜歡這個項目,你可以為我買杯咖啡來幫助我提神。 :) https://ko-fi.com/A067ES5
1/ 使用 Composer 安裝
composer require jan-drda/laravel-google-custom-search-engine
2/ 將服務提供者加入config/app.php
' providers ' => [
' ... ' ,
' JanDrdaLaravelGoogleCustomSearchEngineLaravelGoogleCustomSearchEngineProvider '
];
3/ 將 Facade 的別名加到 config/app.php
' aliases ' => [
...
' GoogleCseSearch ' => ' JanDrdaLaravelGoogleCustomSearchEngineFacadesLaravelGoogleCustomSearchEngineProvider ' ,
...
]
4/ 發布設定檔
php artisan vendor:publish --provider= " JanDrdaLaravelGoogleCustomSearchEngineLaravelGoogleCustomSearchEngineProvider "
!!注意力 !如果您變更自訂搜尋引擎的樣式,則可以變更 ID
將搜尋引擎 ID 和 api ID 儲存在 config/laravelGoogleCustomSearchEngine.php 中
建立一個物件並呼叫函數 getResults 取得前 10 個結果
$ fulltext = new LaravelGoogleCustomSearchEngine (); // initialize
$ results = $ fulltext -> getResults ( ' some phrase ' ); // get first 10 results for query 'some phrase'
這只是範例控制器名稱,你可以使用任何你想要的名稱,這主要是針對 Laravel 新手的通知
namespace App Http Controllers ;
use App Http Controllers Controller ;
use JanDrda LaravelGoogleCustomSearchEngine LaravelGoogleCustomSearchEngine ;
class GoogleSearchController extends Controller
{
public function index (){
$ fulltext = new LaravelGoogleCustomSearchEngine (); // initialize
$ results = $ fulltext -> getResults ( ' some phrase ' ); // get first 10 results for query 'some phrase'
}
}
您還可以獲得有關搜尋的信息,例如總記錄和搜尋時間
$ fulltext = new LaravelGoogleCustomSearchEngine (); // initialize
$ results = $ fulltext -> getResults ( ' some phrase ' ); // get first 10 results for query 'some phrase'
$ info = $ fulltext -> getSearchInformation (); // get search information
您可以使用 Google 支援的任何參數。參數清單位於:https://developers.google.com/custom-search/json-api/v1/reference/cse/list#parameters
例如您想要得到接下來的 10 個結果
$ parameters = array (
' start ' => 10 // start from the 10 th results,
' num ' => 10 // number of results to get, 10 is maximum and also default value
)
$ fulltext = new LaravelGoogleCustomSearchEngine (); // initialize
$ results = $ fulltext -> getResults ( ' some phrase ' , $ parameters ); // get second 10 results for query 'some phrase'
您還可以從 Google 獲取原始結果,包括其他信息,此處提供了響應變量的完整列表:https://developers.google.com/custom-search/json-api/v1/reference/cse/list#response
$ fulltext = new LaravelGoogleCustomSearchEngine (); // initialize
$ results = $ fulltext -> getResults ( ' some phrase ' ); // get first 10 results for query 'some phrase'
$ rawResults = $ fulltext -> getRawResults (); // get complete response from Google
為了獲取結果數量,僅使用
$ fulltext = new LaravelGoogleCustomSearchEngine (); // initialize
$ results = $ fulltext -> getResults ( ' some phrase ' ); // get first 10 results for query 'some phrase'
$ noOfResults = $ fulltext -> getTotalNumberOfResults (); // get total number of results (it can be less than 10)
如果您有更多引擎/更多 api 密鑰,您可以使用以下函數覆蓋配置變數
$ fulltext = new LaravelGoogleCustomSearchEngine (); // initialize
$ fulltext -> setEngineId ( ' someEngineId ' ); // sets the engine ID
$ fulltext -> setApiKey ( ' someApiId ' ); // sets the API key
$ results = $ fulltext -> getResults ( ' some phrase ' ); // get first 10 results for query 'some phrase'
基本文件將位於 Github Wiki 現在正在開發中。
該軟體包是根據 MIT 許可證授權的開源軟體
我是一名獨立高級軟體顧問,自 1997 年起居住在捷克共和國,從事 IT 業務。