️ تم إهمال هذا العميل️ اعتبارًا من الإصدار 7.13.0 من Enterprise Search، فإننا نوجه المستخدمين إلى Enterprise Search PHP Client الجديد ونوقف هذا العميل.
سيكون هذا العميل متوافقًا مع كافة إصدارات Enterprise Search 7.x، ولكنه لن يكون متوافقًا مع إصدارات 8.x. ستقتصر جهودنا التطويرية في هذا المشروع على إصلاحات الأخطاء. ستركز جميع التحسينات المستقبلية على Enterprise Search PHP Client.
شكرًا لك! - مطاطا
عميل PHP من الطرف الأول لبناء تجارب بحث ممتازة وذات صلة باستخدام Elastic App Search.
يفترض استخدام هذا العميل أن لديك بالفعل مثيلاً لـ Elastic App Search قيد التشغيل.
يمكنك العثور على مزيد من المعلومات حول Elastic App Search على: https://www.elastic.co/app-search.
يمكنك تثبيت العميل في مشروعك باستخدام الملحن:
composer require elastic/app-search
تم إصدار هذا العميل وإصداره جنبًا إلى جنب مع App Search.
لضمان التوافق، استخدم أحدث إصدار من هذه المكتبة ضمن الإصدار الرئيسي لتطبيق App Search المطابق.
على سبيل المثال، بالنسبة لـ App Search 7.3
، استخدم 7.3
من هذه المكتبة أو أعلى، ولكن ليس 8.0
.
إذا كنت تستخدم إصدار SaaS المتوفر على Swiftype.com من App Search، فيجب عليك استخدام الإصدار 7.5.x من العميل.
لإنشاء مثيل لعميل جديد، يمكنك استخدام ElasticAppSearchClientClientBuilder
:
$ apiEndpoint = ' http://localhost:3002/ ' ;
$ apiKey = ' private-XXXXXXXXXXXX ' ;
$ clientBuilder = Elastic AppSearch Client ClientBuilder :: create ( $ apiEndpoint , $ apiKey );
$ client = $ clientBuilder -> build ();
ملحوظات:
سيكون العميل الناتج من النوع ElasticAppSearchClientClient
يمكنك العثور على نقطة نهاية واجهة برمجة التطبيقات (API) وعنوان URL لمفتاح واجهة برمجة التطبيقات (API) الخاص بك في أقسام بيانات الاعتماد في لوحة معلومات بحث التطبيقات.
يمكنك استخدام أي نوع من مفاتيح API (خاص أو عام أو إداري). سيقوم العميل بطرح استثناء إذا حاولت تنفيذ إجراء غير مصرح به للمفتاح المستخدم.
تتطلب معظم طرق واجهة برمجة التطبيقات (API) أن يكون لديك حق الوصول إلى المحرك.
للتحقق من وجود المحرك واسترداد إعداداته، يمكنك استخدام التابع Client::getEngine
:
$ engine = $ client -> getEngine ( ' my-engine ' );
إذا لم يكن المحرك موجودًا بعد، فيمكنك إنشائه باستخدام طريقة Client::createEngine
:
$ engine = $ client -> createEngine ( ' my-engine ' , ' en ' );
المعلمة الثانية ( $language
) اختيارية. اضبطه على null
لتطبيق اللغة universal
.
اقرأ المزيد عن دعم اللغة.
يمكنك استخدام طريقة Client::indexDocuments
لفهرسة بعض المستندات في المحرك:
$ documents = [
[ ' id ' => ' first-document ' , ' name ' => ' Document name ' , ' description ' => ' Document description ' ],
[ ' id ' => ' other-document ' , ' name ' => ' Other document name ' , ' description ' => ' Other description ' ],
];
$ indexingResults = $ client -> indexDocuments ( ' my-engine ' , $ documents );
ستحتوي مصفوفة $indexingResults
على نتيجة فهرسة كل مستند. يجب عليك دائمًا التحقق من محتوى النتيجة.
اقرأ المزيد عن فهرسة المستندات.
يمكنك استخدام طريقة Client::search
للبحث في المحرك الخاص بك:
$ searchParams = [
' page ' => [ ' current ' => 1 , ' size ' => 10 ]
];
$ searchResponse = $ client -> search ( ' my-engine ' , ' search text ' , $ searchParams );
إذا كنت تريد مطابقة جميع المستندات، يمكنك استخدامها وإفراغ استعلام البحث ''
كمعلمة ثانية ( $queryText
).
تعد المعلمة $searchRequestParams
اختيارية ويمكن استخدامها لاستخدام ميزات البحث المتقدمة. المعلمات المسموح بها هي:
اسم بارام | عنوان URL للوثائق |
---|---|
page | https://swiftype.com/documentation/app-search/api/search#paging |
filters | https://swiftype.com/documentation/app-search/api/search/filters |
facets | https://swiftype.com/documentation/app-search/api/search/facets |
sort | https://swiftype.com/documentation/app-search/api/search/sorting |
boosts | https://swiftype.com/documentation/app-search/api/search/boosts |
search_fields | https://swiftype.com/documentation/app-search/api/search/search-fields |
result_fields | https://swiftype.com/documentation/app-search/api/search/result-fields |
group | https://swiftype.com/documentation/app-search/api/search/grouping |
ستحتوي استجابة البحث على حقل تعريف وحقل نتائج على الأقل كما هو موضح في هذا المثال:
[
' meta ' => [
' warnings ' => [],
' page ' => [
' current ' => 1 ,
' total_pages ' => 1 ,
' total_results ' => 1 ,
' size ' => 10
],
' request_id ' => ' feff7cf2359a6f6da84586969ef0ca89 '
],
' results ' => [
[
' id ' => [ ' raw ' => ' first-document ' ],
' name ' => [ ' raw ' => ' Document name ' ],
' description ' => [ ' raw ' => [ ' Document description ' ]
]
]
]
]
طريقة | وصف | التوثيق |
---|---|---|
createEngine | يخلق محركا جديدا. حدود : - $name (مطلوب)- $language | توثيق نقطة النهاية |
createMetaEngine | يقوم بإنشاء محرك ميتا جديد. حدود : - $name (مطلوب)- $sourceEngines (مطلوب) | توثيق نقطة النهاية |
addMetaEngineSource | إضافة محرك مصدر إلى محرك تعريف موجود. حدود : - $engineName (مطلوب)- $sourceEngines (مطلوب) | توثيق نقطة النهاية |
createCuration | إنشاء تنظيم جديد. حدود : - $engineName (مطلوب)- $queries (مطلوب)- $promotedDocIds - $hiddenDocIds | توثيق نقطة النهاية |
createSynonymSet | إنشاء مجموعة مرادفات جديدة. حدود : - $engineName (مطلوب)- $synonyms (مطلوب) | توثيق نقطة النهاية |
deleteCuration | حذف التنظيم حسب المعرف. حدود : - $engineName (مطلوب)- $curationId (مطلوب) | توثيق نقطة النهاية |
deleteDocuments | حذف المستندات حسب المعرف. حدود : - $engineName (مطلوب)- $documentIds (مطلوب) | توثيق نقطة النهاية |
deleteEngine | حذف محرك بالاسم. حدود : - $engineName (مطلوب) | توثيق نقطة النهاية |
deleteMetaEngineSource | حذف محرك مصدر من محرك التعريف. حدود : - $engineName (مطلوب)- $sourceEngines (مطلوب) | توثيق نقطة النهاية |
deleteSynonymSet | حذف مرادف تم تعيينه بواسطة المعرف. حدود : - $engineName (مطلوب)- $synonymSetId (مطلوب) | توثيق نقطة النهاية |
getApiLogs | يعرض سجل API طلب واجهة برمجة التطبيقات وبيانات الاستجابة على مستوى المحرك. حدود : - $engineName (مطلوب)- $fromDate (مطلوب)- $toDate (مطلوب)- $currentPage - $pageSize - $query - $httpStatusFilter - $httpMethodFilter - $sortDirection | توثيق نقطة النهاية |
getCountAnalytics | لعرض عدد النقرات وإجمالي عدد الاستعلامات خلال فترة معينة. حدود : - $engineName (مطلوب)- $filters - $interval | توثيق نقطة النهاية |
getCuration | استرداد التنظيم بواسطة المعرف. حدود : - $engineName (مطلوب)- $curationId (مطلوب) | توثيق نقطة النهاية |
getDocuments | يسترد وثيقة واحدة أو أكثر عن طريق الهوية. حدود : - $engineName (مطلوب)- $documentIds (مطلوب) | توثيق نقطة النهاية |
getEngine | استرداد المحرك بالاسم. حدود : - $engineName (مطلوب) | توثيق نقطة النهاية |
getSchema | استرداد المخطط الحالي للمحرك ثم. حدود : - $engineName (مطلوب) | توثيق نقطة النهاية |
getSearchSettings | استرداد إعدادات البحث الحالية للمحرك. حدود : - $engineName (مطلوب) | توثيق نقطة النهاية |
getSynonymSet | استرداد مرادف تم تعيينه بواسطة المعرف. حدود : - $engineName (مطلوب)- $synonymSetId (مطلوب) | توثيق نقطة النهاية |
getTopClicksAnalytics | لعرض عدد النقرات التي تلقاها المستند بترتيب تنازلي. حدود : - $engineName (مطلوب)- $query - $pageSize - $filters | توثيق نقطة النهاية |
getTopQueriesAnalytics | إرجاع تحليلات الاستعلامات حسب عدد الاستخدام. حدود : - $engineName (مطلوب)- $pageSize - $filters | توثيق نقطة النهاية |
indexDocuments | إنشاء أو تحديث المستندات. حدود : - $engineName (مطلوب)- $documents (مطلوب) | توثيق نقطة النهاية |
listCurations | استرداد curations المتاحة للمحرك. حدود : - $engineName (مطلوب)- $currentPage - $pageSize | توثيق نقطة النهاية |
listDocuments | قم بإدراج جميع المستندات المتاحة مع دعم ترقيم الصفحات الاختياري. حدود : - $engineName (مطلوب)- $currentPage - $pageSize | توثيق نقطة النهاية |
listEngines | يسترد كافة المحركات مع دعم ترقيم الصفحات الاختياري. حدود : - $currentPage - $pageSize | توثيق نقطة النهاية |
listSynonymSets | استرداد مجموعات المرادفات المتاحة للمحرك. حدود : - $engineName (مطلوب)- $currentPage - $pageSize | توثيق نقطة النهاية |
logClickthrough | إرسال بيانات حول النتائج التي تم النقر عليها. حدود : - $engineName (مطلوب)- $queryText (مطلوب)- $documentId (مطلوب)- $requestId - $tags | توثيق نقطة النهاية |
multiSearch | قم بإجراء عدة عمليات بحث في نفس الطلب. حدود : - $engineName (مطلوب)- $queries (مطلوب) | توثيق نقطة النهاية |
querySuggestion | تقديم اقتراحات الاستعلام ذات الصلة للاستعلامات غير المكتملة. حدود : - $engineName (مطلوب)- $query (مطلوب)- $fields - $size | توثيق نقطة النهاية |
resetSearchSettings | إعادة ضبط إعدادات البحث للمحرك. حدود : - $engineName (مطلوب) | توثيق نقطة النهاية |
search | يسمح لك بالبحث في بياناتك وتصفيتها وتصفيتها. حدود : - $engineName (مطلوب)- $queryText (مطلوب)- $searchRequestParams | توثيق نقطة النهاية |
updateCuration | تحديث التنظيم الحالي. حدود : - $engineName (مطلوب)- $curationId (مطلوب)- $queries (مطلوب)- $promotedDocIds - $hiddenDocIds | توثيق نقطة النهاية |
updateDocuments | التحديث الجزئي للوثائق. حدود : - $engineName (مطلوب)- $documents (مطلوب) | توثيق نقطة النهاية |
updateSchema | تحديث المخطط للمحرك الحالي. حدود : - $engineName (مطلوب)- $schema (مطلوب) | توثيق نقطة النهاية |
updateSearchSettings | تحديث إعدادات البحث للمحرك. حدود : - $engineName (مطلوب)- $searchSettings (مطلوب) | توثيق نقطة النهاية |
يتم إنشاء التعليمات البرمجية لنقاط النهاية تلقائيًا باستخدام إصدار مخصص من OpenAPI Generator.
لتجديد نقاط النهاية، استخدم docker laucher المعبأ في vendor/bin
:
./vendor/bin/elastic-openapi-codegen.sh
سيتم إنشاء المولد المخصص وتشغيله باستخدام ملف مواصفات Open API التالي: resources/api/api-spec.yml
.
يمكنك بعد ذلك الالتزام بملف مواصفات API المعدل وملفات التعليمات البرمجية لنقاط النهاية الخاصة بك.
قد يتم تغيير فئة العميل والملف التمهيدي في بعض الحالات. لا تنس أن تدرجهم في التزامك!
إذا كان هناك شيء لا يعمل كما هو متوقع، يرجى فتح قضية.
أفضل رهان لك هو قراءة الوثائق.
يمكنك الخروج من منتديات مناقشة المجتمع المرن.
نحن نرحب بالمساهمين في المشروع. قبل البدء هناك بعض الملاحظات...
أباتشي 2.0 © مطاطا
شكرا لجميع المساهمين!