- طلب HTTP
- نص الطلب
- نص الاستجابة
- نطاقات التفويض
- QueryInterpretationOptions
- QueryInterpretation
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- SearchResult
- المقتطف
- MatchRange
- البيانات الوصفية
- ResultDisplayMetadata
- ResultDisplayMetadata.ResultDisplayLine
- ResultDisplayMetadata.ResultDisplayField
- ResultDebugInfo
- StructuredResult
- SpellResult
- FacetResult
- FacetBucket
- ResponseDebugInfo
- ErrorInfo
- ErrorMessage
- ResultCounts
- SourceResultCount
- جرِّبه الآن
توفّر واجهة برمجة تطبيقات طلبات البحث في Cloud Search طريقة البحث التي تعرض النتائج الأكثر صلة من طلب بحث المستخدم. ويمكن أن تأتي النتائج من تطبيقات Google Workspace، مثل Gmail أو Google Drive، أو من البيانات التي فهرستها من جهة خارجية.
ملاحظة: تتطلّب واجهة برمجة التطبيقات هذه حساب مستخدم عادي لتنفيذها. لا يمكن لحساب الخدمة تنفيذ طلبات واجهة برمجة التطبيقات لطلبات البحث مباشرةً. لاستخدام حساب خدمة لإجراء طلبات البحث، يجب إعداد تفويض مرجع على مستوى نطاق Google Workspace.
طلب HTTP
POST https://cloudsearch.googleapis.com/v1/query/search
يستخدِم عنوان URL بنية تحويل ترميز gRPC.
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
تمثيل JSON |
---|
{ "requestOptions": { object ( |
الحقول | |
---|---|
requestOptions |
خيارات الطلب، مثل تطبيق البحث والمنطقة الزمنية للمستخدم. |
query |
سلسلة طلب البحث الأولية. الاطّلاع على عوامل تشغيل البحث المتوافقة في تضييق نطاق البحث باستخدام عوامل التشغيل |
pageSize |
الحد الأقصى لعدد نتائج البحث المطلوب عرضها في صفحة واحدة. تتراوح القيم الصالحة بين 1 و100 بشكل جامعي. القيمة التلقائية هي 10. الحد الأدنى للقيمة هو 50 عند طلب نتائج تتجاوز 2000. |
start |
فهرس بداية النتائج. |
dataSourceRestrictions[] |
المصادر التي سيتم استخدامها لإجراء طلبات البحث. إذا لم يتم تحديده، يتم استخدام جميع مصادر البيانات من تطبيق البحث الحالي. |
facetOptions[] |
|
sortOptions |
خيارات ترتيب نتائج البحث |
queryInterpretationOptions |
خيارات لتفسير استعلام المستخدم. |
contextAttributes[] |
سمات السياق للطلب التي سيتم استخدامها لتعديل ترتيب نتائج البحث. الحد الأقصى لعدد العناصر هو 10. |
نص الاستجابة
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
ردّ واجهة برمجة تطبيقات البحث.
تمثيل JSON |
---|
{ "queryInterpretation": { object ( |
الحقول | |
---|---|
queryInterpretation |
نتيجة تفسير طلب البحث لطلب بحث المستخدم. ويكون هذا الحقل فارغًا إذا تم إيقاف تفسير طلب البحث. |
results[] |
نتائج من طلب بحث |
structuredResults[] |
نتائج منظَّمة لطلب بحث المستخدم ولا يتم احتساب هذه النتائج وفقًا لحجم الصفحة. |
spellResults[] |
تصحيح إملائي مقترح لطلب البحث. |
facetResults[] |
نتائج واجهات متكررة. |
hasMoreResults |
ما إذا كان هناك المزيد من نتائج البحث المطابقة لطلب البحث |
debugInfo |
معلومات تصحيح الأخطاء المتعلّقة بالردّ |
errorInfo |
معلومات خطأ حول الردّ. |
resultCounts |
تم توسيع معلومات عدد النتائج. |
حقل الاتحاد
أعد تشغيل طلب البحث، وهو أمر نادر الحدوث عندما يتعذر على النظام البحث في جميع المستندات. يمكن أن يكون |
|
resultCountEstimate |
عدد النتائج المقدّرة لطلب البحث هذا. |
resultCountExact |
عدد النتائج الدقيقة لطلب البحث هذا. |
نطاقات التفويض
يتطلب هذا الإعداد أحد نطاقات OAuth التالية:
https://www.googleapis.com/auth/cloud_search.query
https://www.googleapis.com/auth/cloud_search
لمزيد من المعلومات، يُرجى الاطّلاع على دليل التفويض.
QueryInterpretationOptions
خيارات لتفسير طلب بحث المستخدم.
تمثيل JSON |
---|
{ "disableNlInterpretation": boolean, "enableVerbatimMode": boolean, "disableSupplementalResults": boolean } |
الحقول | |
---|---|
disableNlInterpretation |
ضَع علامة لإيقاف تفسير طلبات البحث باللغة الطبيعية (NL). الإعداد التلقائي "خطأ"، والضبط على "صحيح" لإيقاف تفسير اللغة الطبيعية. لا ينطبق تفسير لغة البرمجة NL إلا على مصادر البيانات المحدَّدة مسبقًا. |
enableVerbatimMode |
ويمكنك تفعيل هذه العلامة لإيقاف جميع التحسينات الداخلية، مثل تفسير اللغة الطبيعية (NL) لطلبات البحث واسترجاع النتائج التكميلية واستخدام المرادفات، بما في ذلك العبارات المخصّصة. سيتم إيقاف الترجمة والشرح إذا كانت أي من العلامتين صحيحتين. |
disableSupplementalResults |
يمكنك استخدام هذه العلامة لإيقاف النتائج التكميلية لطلب البحث. سيتم منح الأولوية لإعداد النتائج التكميلية الذي تم اختياره على مستوى SearchApplication في حال ضبطها على "صحيح". |
QueryInterpretation
تمثيل JSON |
---|
{ "interpretedQuery": string, "interpretationType": enum ( |
الحقول | |
---|---|
interpretedQuery |
تمثّل هذه السمة تفسير طلب البحث المستخدَم في البحث. على سبيل المثال، طلبات البحث ذات الغرض من اللغة الطبيعية، مثل "بريد إلكتروني من يوسف". سيتم تفسيره على أنه "from:john source:mail". لن يتم ملء هذا الحقل عندما لا يكون السبب NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY. |
interpretationType |
|
reason |
تمثل هذه السمة سبب تفسير طلب البحث. لن يكون هذا الحقل UNSPECIFIED إذا كان نوع التفسير ليس "بدون". |
QueryInterpretation.InterpretationType
عمليات التعداد | |
---|---|
NONE |
ولا يتم استخدام تفسير اللغة الطبيعية ولا نسخة أوسع من طلب البحث لجلب نتائج البحث. |
BLEND |
يتم دمج النتائج من الاستعلام الأصلي مع نتائج أخرى. يتم ملء سبب مزج هذه النتائج الأخرى مع نتائج الاستعلام الأصلي في عمود "السبب" أدناه. |
REPLACE |
يتم استبدال النتائج من الاستعلام الأصلي. يتم ملء سبب استبدال نتائج طلب البحث الأصلي في صفحة "السبب" أدناه. |
QueryInterpretation.Reason
عمليات التعداد | |
---|---|
UNSPECIFIED |
|
QUERY_HAS_NATURAL_LANGUAGE_INTENT |
ويتم استخدام تفسير طلب البحث باللغة الطبيعية لجلب نتائج البحث. |
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY |
ويُستخدم تشابه عبارات البحث والمستندات لتوسيع طلب البحث بشكل انتقائي لاسترداد نتائج بحث إضافية نظرًا لعدم العثور على نتائج كافية لطلب بحث المستخدم. سيكون طلب البحث المفسَّر فارغًا لهذه الحالة. |
SearchResult
النتائج التي تحتوي على معلومات مفهرسة لمستند
تمثيل JSON |
---|
{ "title": string, "url": string, "snippet": { object ( |
الحقول | |
---|---|
title |
عنوان نتيجة البحث |
url |
تمثّل هذه السمة عنوان URL لنتيجة البحث. يحتوي عنوان URL على إعادة توجيه من Google إلى العنصر الفعلي. يجب أن يكون عنوان URL هذا موقَّعًا ويجب عدم تغييره. |
snippet |
تمثّل هذه السمة تسلسلاً لجميع المقتطفات (الملخّصات) المتاحة لهذه النتيجة. |
metadata |
البيانات الوصفية لنتيجة البحث. |
clusteredResults[] |
إذا كان المصدر مجمّعًا، قدِّم قائمة بالنتائج المجمّعة. سيكون هناك مستوى واحد فقط من النتائج المجمّعة. إذا لم يتم تفعيل المصدر الحالي للتجميع العنقودي، سيكون هذا الحقل فارغًا. |
debugInfo |
معلومات تصحيح الأخطاء المتعلقة بنتيجة البحث هذه |
المقتطف
مقتطف من نتيجة البحث يلخّص محتوى الصفحة الناتجة
تمثيل JSON |
---|
{
"snippet": string,
"matchRanges": [
{
object ( |
الحقول | |
---|---|
snippet |
مقتطف من المستند. مقتطف من المستند. قد يحتوي على حرف HTML تم تجاوزه ويجب عدم تخطيه قبل العرض. |
matchRanges[] |
النطاقات المتطابقة في المقتطف. |
MatchRange
النطاق المطابق لمقتطف [start وend).
تمثيل JSON |
---|
{ "start": integer, "end": integer } |
الحقول | |
---|---|
start |
تمثّل هذه السمة موضع بداية المطابقة في المقتطف. |
end |
نهاية المطابقة في المقتطف |
البيانات الوصفية
البيانات الوصفية لنتيجة بحث مطابقة.
تمثيل JSON |
---|
{ "source": { object ( |
الحقول | |
---|---|
source |
المصدر المسمى للنتيجة، مثل Gmail. |
mimeType |
نوع Mime لنتيجة البحث |
thumbnailUrl |
عنوان URL للصورة المصغّرة للنتيجة. |
owner |
المالك (عادةً ما يكون منشئ) المستند أو عنصر نتيجة البحث. |
createTime |
وقت إنشاء هذا المستند أو العنصر في نتيجة البحث. طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
updateTime |
تاريخ آخر تعديل للعنصر في نتيجة البحث. إذا لم يتم ضبط السياسة في العنصر، ستكون القيمة المعروضة هنا فارغة. عند استخدام السمة طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
fields[] |
تمت فهرسة الحقول في البيانات المنظَّمة، ويتم عرضها كسمة عامة مُسمّاة. |
displayOptions |
الخيارات التي تحدّد كيفية عرض نتيجة بحث للبيانات المنظَّمة. |
objectType |
نوع الكائن لنتيجة البحث. |
ResultDisplayMetadata
تمثيل JSON |
---|
{
"objectTypeLabel": string,
"metalines": [
{
object ( |
الحقول | |
---|---|
objectTypeLabel |
تصنيف العرض للعنصر. |
metalines[] |
محتوى metalines الذي سيتم عرضه مع النتيجة. |
ResultDisplayMetadata.ResultDisplayLine
مجموعة الحقول التي يتألف منها خط معروض
تمثيل JSON |
---|
{
"fields": [
{
object ( |
الحقول | |
---|---|
fields[] |
ResultDisplayMetadata.ResultDisplayField
عرض الحقول الخاصة بنتائج البحث query.search
تمثيل JSON |
---|
{
"label": string,
"operatorName": string,
"property": {
object ( |
الحقول | |
---|---|
label |
تصنيف العرض الخاص بالموقع. |
operatorName |
تمثّل هذه السمة اسم عامل التشغيل الخاص بالموقع. |
property |
زوج قيمة الاسم للسمة. |
ResultDebugInfo
معلومات تصحيح الأخطاء المتعلقة بالنتيجة.
تمثيل JSON |
---|
{ "formattedDebugInfo": string } |
الحقول | |
---|---|
formattedDebugInfo |
معلومات تصحيح الأخطاء العامة التي تم تنسيقها للعرض. |
StructuredResult
النتائج المنظَّمة التي يتم عرضها كجزء من طلب البحث
تمثيل JSON |
---|
{
"person": {
object ( |
الحقول | |
---|---|
person |
تمثيل شخص |
SpellResult
تمثيل JSON |
---|
{ "suggestedQuery": string } |
الحقول | |
---|---|
suggestedQuery |
التهجئة المقترَحة لطلب البحث |
FacetResult
استجابة واجهة المصدر المحددة
تمثيل JSON |
---|
{
"sourceName": string,
"objectType": string,
"operatorName": string,
"buckets": [
{
object ( |
الحقول | |
---|---|
sourceName |
اسم المصدر الذي يتم عرض نتائج الواجهة له. لن يكون فارغًا. |
objectType |
نوع الكائن الذي يتم عرض نتائج الواجهة له. يمكن أن يكون الحقل فارغًا. |
operatorName |
اسم عامل التشغيل الذي تم اختياره للواجهات. @see cloudsearch.SchemaPropertyOptions |
buckets[] |
حزم facetBuckets للقيم في الرد تحتوي على نتيجة واحدة على الأقل مع الفلتر المقابل. |
FacetBucket
تعتبر الدلو في الواجهة هي وحدة التشغيل الأساسية. يمكن أن تتألف الحزمة إما من قيمة واحدة أو نطاق متجاورة من القيم، بناءً على نوع الحقل المجمّع. يتم استخدام facetBucket حاليًا فقط لإرجاع كائن الاستجابة.
تمثيل JSON |
---|
{ "count": integer, "percentage": integer, "filter": { object ( |
الحقول | |
---|---|
count |
عدد النتائج التي تطابق قيمة الحزمة. لا يتم عرض الأعداد إلا لعمليات البحث عندما يتم ضمان دقة العدّ. لا تضمن خدمة Cloud Search احتساب عدد الواجهات لأي طلب بحث، وقد لا تظهر أعداد الواجهات إلا بشكل متقطّع، حتى في طلبات البحث المتطابقة. لا تبني تبعيات على وجود عدد الواجهات؛ بدلاً من ذلك، يمكنك استخدام النسب المئوية للواجهة التي يتم إرجاعها دائمًا. |
percentage |
النسبة المئوية للنتائج التي تطابق قيمة الحزمة. تتراوح القيمة المعروضة بين (0-100]، ويتم تقريبها إلى عدد صحيح إذا كانت كسرية. إذا لم يتم عرض القيمة بشكل صريح، فإنها تمثل قيمة نسبة مئوية يتم تقريبها إلى 0. يتم عرض النسب المئوية لجميع عمليات البحث، ولكنها تكون تقديرية. يجب عرض النسب المئوية بدلاً من الأعداد، لأنه يتم إرجاع النسب المئوية دائمًا. |
filter |
يتم تمرير الفلتر في طلب البحث في حال اختيار الحزمة المقابلة. |
value |
|
ResponseDebugInfo
معلومات تصحيح الأخطاء المتعلّقة بالردّ
تمثيل JSON |
---|
{ "formattedDebugInfo": string } |
الحقول | |
---|---|
formattedDebugInfo |
معلومات تصحيح الأخطاء العامة التي تم تنسيقها للعرض. |
ErrorInfo
معلومات خطأ حول الردّ.
تمثيل JSON |
---|
{
"errorMessages": [
{
object ( |
الحقول | |
---|---|
errorMessages[] |
|
ErrorMessage
رسالة خطأ لكل ردّ من المصدر.
تمثيل JSON |
---|
{
"source": {
object ( |
الحقول | |
---|---|
source |
|
errorMessage |
|
ResultCounts
معلومات عدد النتائج
تمثيل JSON |
---|
{
"sourceResultCounts": [
{
object ( |
الحقول | |
---|---|
sourceResultCounts[] |
معلومات حول عدد النتائج لكل مصدر يتضمن النتائج. |
SourceResultCount
معلومات عدد النتائج لكل مصدر
تمثيل JSON |
---|
{ "source": { object ( |
الحقول | |
---|---|
source |
تمثّل هذه السمة المصدر الذي ترتبط به معلومات عدد النتائج. |
hasMoreResults |
ما إذا كان هناك المزيد من نتائج البحث لهذا المصدر. |
حقل الاتحاد يمكن أن يكون |
|
resultCountEstimate |
عدد النتائج المقدّرة لهذا المصدر |
resultCountExact |
عدد النتائج الدقيقة لهذا المصدر. |