#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 业务。