#Laravel Pacote Laravel do Google Custom Search Engine para obter resultados da Pesquisa personalizada do Google da API do Google Custom Search Engine para versões gratuitas e pagas.
À medida que o Swiftype fechava os planos gratuitos, comecei a procurar alguma alternativa sem muita codificação, mas não tive sucesso. O melhor que encontrei foi o pacote Google Search da Spatie para a versão paga do Google CSE, então fiz algumas pesquisas e desenvolvi o pacote de forma semelhante, mas independente da versão Google CSE.
Se você gosta deste projeto, pode me comprar um café para me ajudar a me refrescar. :) https://ko-fi.com/A067ES5
1/ Instalar com Composer
composer require jan-drda/laravel-google-custom-search-engine
2/ Adicione o provedor de serviços a config/app.php
' providers ' => [
' ... ' ,
' JanDrdaLaravelGoogleCustomSearchEngineLaravelGoogleCustomSearchEngineProvider '
];
3/ Adicione alias para Facade em config/app.php
' aliases ' => [
...
' GoogleCseSearch ' => ' JanDrdaLaravelGoogleCustomSearchEngineFacadesLaravelGoogleCustomSearchEngineProvider ' ,
...
]
4/ Publique o arquivo de configuração
php artisan vendor:publish --provider= " JanDrdaLaravelGoogleCustomSearchEngineLaravelGoogleCustomSearchEngineProvider "
!! Atenção !! Se você alterar o estilo do seu mecanismo de pesquisa personalizado, o ID poderá ser alterado
Salve o ID do mecanismo de pesquisa e o ID da API em seu config/laravelGoogleCustomSearchEngine.php
Crie um objeto e chame a função getResults para obter os 10 primeiros resultados
$ fulltext = new LaravelGoogleCustomSearchEngine (); // initialize
$ results = $ fulltext -> getResults ( ' some phrase ' ); // get first 10 results for query 'some phrase'
É apenas um exemplo de nome do controlador, você pode usar o que quiser, isso é aviso principalmente para novatos no 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'
}
}
Você também pode obter informações sobre a pesquisa, como total de registros e tempo de pesquisa
$ fulltext = new LaravelGoogleCustomSearchEngine (); // initialize
$ results = $ fulltext -> getResults ( ' some phrase ' ); // get first 10 results for query 'some phrase'
$ info = $ fulltext -> getSearchInformation (); // get search information
Você pode usar qualquer parâmetro compatível com o Google. A lista de parâmetros está aqui: https://developers.google.com/custom-search/json-api/v1/reference/cse/list#parameters
Por exemplo, você deseja obter os próximos 10 resultados
$ 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'
Você também pode obter o resultado bruto do Google, incluindo outras informações. A lista completa de variáveis de resposta está disponível aqui: 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
Para obter o número de resultados use apenas
$ 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)
Se você tiver mais mecanismos/mais chaves de API, poderá substituir as variáveis de configuração com as seguintes funções
$ 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'
A documentação essencial estará no Github Wiki Agora está em desenvolvimento.
Este pacote é um software de código aberto licenciado sob a licença MIT
Sou consultor sênior independente de software e moro na República Tcheca em negócios de TI desde 1997.