#Laravel Google Custom Search Engine حزمة Laravel للحصول على نتائج بحث Google المخصص من Google Custom Search Engine API للإصدارين المجاني والمدفوع.
عندما أغلقت Swiftype الخطط المجانية، بدأت في العثور على بديل دون الحاجة إلى الكثير من البرمجة، ولكن دون جدوى. أفضل ما وجدته هو حزمة بحث Google الخاصة بـ Spatie للإصدار المدفوع من Google CSE، لذلك قمت ببعض البحث وتطوير الحزمة بطريقة مماثلة، ولكنها مستقلة عن إصدار Google CSE.
إذا أعجبك هذا المشروع، يمكنك أن تشتري لي قهوة لتساعدني على الانتعاش. :) https://ko-fi.com/A067ES5
1/ التثبيت مع الملحن
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 للحصول على النتائج العشرة الأولى
$ 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
على سبيل المثال، تريد الحصول على النتائج العشرة التالية
$ 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)
إذا كان لديك المزيد من المحركات / المزيد من مفاتيح واجهة برمجة التطبيقات، فيمكنك تجاوز متغيرات التكوين بالوظائف التالية
$ 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.