#Laravel Пакет Laravel для системы пользовательского поиска Google для получения результатов пользовательского поиска Google из API системы пользовательского поиска Google как в бесплатной, так и в платной версии.
Когда Swiftype закрыл бесплатные планы, я начал искать альтернативу без лишнего программирования, но безуспешно. Лучшее, что я нашел, это пакет Google Search от Spatie для платной версии Google CSE, поэтому я провел некоторые исследования и разработал пакет аналогичным образом, но независимо от версии 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/ Добавьте псевдоним для фасада в config/app.php.
' aliases ' => [
...
' GoogleCseSearch ' => ' JanDrdaLaravelGoogleCustomSearchEngineFacadesLaravelGoogleCustomSearchEngineProvider ' ,
...
]
4/ Опубликуйте файл конфигурации
php artisan vendor:publish --provider= " JanDrdaLaravelGoogleCustomSearchEngineLaravelGoogleCustomSearchEngineProvider "
!! Внимание !! Если вы измените стиль своей системы пользовательского поиска, идентификатор можно изменить.
Сохраните идентификатор поисковой системы и идентификатор API в вашем файле 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 года.