SearchResponse

استجابة Search API رقم تعريف NEXT: 17

تمثيل JSON
{
  "queryInterpretation": {
    object (QueryInterpretation)
  },
  "results": [
    {
      object (SearchResult)
    }
  ],
  "structuredResults": [
    {
      object (StructuredResult)
    }
  ],
  "spellResults": [
    {
      object (SpellResult)
    }
  ],
  "facetResults": [
    {
      object (FacetResult)
    }
  ],
  "hasMoreResults": boolean,
  "debugInfo": {
    object (ResponseDebugInfo)
  },
  "errorInfo": {
    object (ErrorInfo)
  },
  "resultCounts": {
    object (ResultCounts)
  },

  // Union field result_count can be only one of the following:
  "resultCountEstimate": string,
  "resultCountExact": string
  // End of list of possible types for union field result_count.
}
الحقول
queryInterpretation

object (QueryInterpretation)

نتيجة تفسير طلب البحث يكون فارغًا إذا كانت ميزة تفسير طلبات البحث غير مفعّلة.

results[]

object (SearchResult)

نتائج من طلب بحث

structuredResults[]

object (StructuredResult)

نتائج منظَّمة لطلب بحث المستخدم ولا يتم احتساب هذه النتائج ضمن pageSize.

spellResults[]

object (SpellResult)

التهجئة المقترَحة لطلب البحث

facetResults[]

object (FacetResult)

نتائج السمات المتكرّرة

hasMoreResults

boolean

ما إذا كانت هناك المزيد من نتائج البحث التي تتطابق مع طلب البحث

debugInfo

object (ResponseDebugInfo)

معلومات تصحيح الأخطاء حول الردّ

errorInfo

object (ErrorInfo)

معلومات الخطأ حول الردّ

resultCounts

object (ResultCounts)

معلومات موسّعة حول عدد النتائج

حقل الربط result_count إجمالي عدد النتائج في جميع مصادر البيانات المطلوبة. يتم حذفها إذا تم تضمين مصادر محدّدة مسبقًا في مجموعة مصادر البيانات التي يتم الاستعلام عنها. قد يتم عرض أعداد النتائج كتقدير بدلاً من عدد دقيق في الحالات التالية:

  • عندما يتضمّن طلب البحث أكثر من عنصرَين في عبارة، مثل "عدد النتائج الدقيق" بين علامتَي اقتباس.

  • عندما يكون عدد جداول التحكم في الوصول الفريدة لنتائج البحث المطلوب تقييمها كبيرًا جدًا بحيث لا يمكن احتسابه خلال وقت استجابة معقول

في الحالات النادرة التي يتعذّر فيها على النظام البحث في جميع المستندات، يُرجى إعادة تشغيل طلب البحث. يمكن أن يكون result_count واحدًا فقط مما يلي:

resultCountEstimate

string (int64 format)

العدد المقدَّر للنتائج التي يعرضها طلب البحث هذا.

resultCountExact

string (int64 format)

عدد النتائج الدقيقة لهذا الطلب

QueryInterpretation

تمثيل JSON
{
  "interpretedQuery": string,
  "interpretationType": enum (QueryInterpretation.InterpretationType),
  "reason": enum (QueryInterpretation.Reason),
  "interpretedQueryActualResultCount": integer,
  "interpretedQueryEstimatedResultCount": string
}
الحقول
interpretedQuery

string

تفسير طلب البحث المستخدَم في البحث على سبيل المثال، سيتم تفسير طلبات البحث التي تتضمّن نية مستخدم باللغة الطبيعية، مثل "البريد الإلكتروني من كمال"، على أنّها "from:كمال source:mail". لن يتم ملء هذا الحقل عندما يكون السبب هو NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY.

interpretationType

enum (QueryInterpretation.InterpretationType)

reason

enum (QueryInterpretation.Reason)

سبب تفسير الطلب لن يكون هذا الحقل غير محدّد إذا لم يكن نوع التفسير هو "بدون تفسير".

interpretedQueryActualResultCount

integer

العدد الفعلي للنتائج التي عرضها طلب البحث المُفترَض.

interpretedQueryEstimatedResultCount

string (int64 format)

العدد المقدَّر للنتائج التي يعرضها طلب البحث المترجَم.

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 (Snippet)
  },
  "metadata": {
    object (Metadata)
  },
  "clusteredResults": [
    {
      object (SearchResult)
    }
  ],
  "debugInfo": {
    object (ResultDebugInfo)
  }
}
الحقول
title

string

عنوان نتيجة البحث

url

string

عنوان URL لنتيجة البحث يتضمّن عنوان URL عملية إعادة توجيه من Google إلى العنصر الفعلي. تم توقيع عنوان URL هذا ويجب عدم تغييره.

snippet

object (Snippet)

تسلسل كل المقتطفات (الملخّصات) المتاحة لهذه النتيجة

metadata

object (Metadata)

البيانات الوصفية لنتيجة البحث

clusteredResults[]

object (SearchResult)

إذا كان المصدر مجمّعًا، قدِّم قائمة بالنتائج المجمّعة. سيكون هناك مستوى واحد فقط من النتائج المجمّعة. إذا لم يكن المصدر الحالي مفعّلاً للتجميع، سيكون هذا الحقل فارغًا.

debugInfo

object (ResultDebugInfo)

معلومات تصحيح الأخطاء عن نتيجة البحث هذه

المقتطف

مقتطف من نتيجة البحث يلخّص محتوى الصفحة الناتجة

تمثيل JSON
{
  "snippet": string,
  "matchRanges": [
    {
      object (MatchRange)
    }
  ]
}
الحقول
snippet

string

مقتطف من المستند قد يحتوي على حرف HTML تم إلغاء تشفيره ويجب إلغاء تشفيره قبل العرض.

matchRanges[]

object (MatchRange)

النطاقات المطابقة في المقتطف

MatchRange

النطاق المطابق لمقتطف [start, end].

تمثيل JSON
{
  "start": integer,
  "end": integer
}
الحقول
start

integer

موضع بدء المطابقة في المقتطف

end

integer

نهاية المطابقة في المقتطف

البيانات الوصفية

البيانات الوصفية لنتيجة بحث مطابقة

تمثيل JSON
{
  "source": {
    object (Source)
  },
  "mimeType": string,
  "thumbnailUrl": string,
  "owner": {
    object (Person)
  },
  "createTime": string,
  "updateTime": string,
  "fields": [
    {
      object (NamedProperty)
    }
  ],
  "displayOptions": {
    object (ResultDisplayMetadata)
  },
  "objectType": string
}
الحقول
source

object (Source)

المصدر المُعنوَن للنتيجة، مثل Gmail

mimeType

string

نوع MIME لنتيجة البحث

thumbnailUrl

string

عنوان URL للصورة المصغّرة للنتيجة

owner

object (Person)

مالك (عادةً منشئ) المستند أو عنصر نتيجة البحث

createTime

string (Timestamp format)

وقت إنشاء هذا المستند أو العنصر في نتيجة البحث

يستخدم معيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه دائمًا مُعدَّلاً وفقًا لقاعدة Z ويستخدم 0 أو 3 أو 6 أو 9 أرقام عشرية. يتم أيضًا قبول العناصر غير "Z". أمثلة: "2014-10-02T15:01:23Z" أو "2014-10-02T15:01:23.045123456Z" أو "2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

تاريخ آخر تعديل للعنصر في نتيجة البحث إذا لم يتم ضبطها في العنصر، تكون القيمة المعروضة هنا فارغة. عند استخدام updateTime لاحتساب مدى الحداثة وعدم ضبطه، تكون هذه القيمة تلقائيًا عامين من الوقت الحالي.

يستخدم معيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه دائمًا مُعدَّلاً وفقًا لقاعدة Z ويستخدم 0 أو 3 أو 6 أو 9 أرقام عشرية. يتم أيضًا قبول العناصر غير "Z". أمثلة: "2014-10-02T15:01:23Z" أو "2014-10-02T15:01:23.045123456Z" أو "2014-10-02T15:01:23+05:30"

fields[]

object (NamedProperty)

الحقول المفهرَسة في البيانات المنظَّمة، والتي يتم عرضها كسمة عامة مُسمّاة

displayOptions

object (ResultDisplayMetadata)

خيارات تحدّد كيفية عرض نتيجة بحث عن بيانات منظَّمة

objectType

string

نوع العنصر في نتيجة البحث

ResultDisplayMetadata

تمثيل JSON
{
  "objectTypeLabel": string,
  "metalines": [
    {
      object (ResultDisplayMetadata.ResultDisplayLine)
    }
  ]
}
الحقول
objectTypeLabel

string

التصنيف المعروض للكائن

metalines[]

object (ResultDisplayMetadata.ResultDisplayLine)

محتوى السطور الوصفية المطلوب عرضه مع النتيجة

ResultDisplayMetadata.ResultDisplayLine

مجموعة الحقول التي تشكّل سطرًا معروضًا

تمثيل JSON
{
  "fields": [
    {
      object (ResultDisplayMetadata.ResultDisplayField)
    }
  ]
}
الحقول
fields[]

object (ResultDisplayMetadata.ResultDisplayField)

ResultDisplayMetadata.ResultDisplayField

عرض الحقول لنتائج البحث

تمثيل JSON
{
  "label": string,
  "operatorName": string,
  "property": {
    object (NamedProperty)
  }
}
الحقول
label

string

التصنيف المعروض للمكان

operatorName

string

اسم مشغّل الموقع

property

object (NamedProperty)

زوج الاسم والقيمة للسمة

ResultDebugInfo

معلومات تصحيح الأخطاء حول النتيجة

تمثيل JSON
{
  "formattedDebugInfo": string
}
الحقول
formattedDebugInfo

string

معلومات عامة عن تصحيح الأخطاء تم تنسيقها للعرض.

StructuredResult

النتائج منظَّمة التي يتم عرضها كجزء من طلب البحث

تمثيل JSON
{

  // Union field structured_result can be only one of the following:
  "person": {
    object (Person)
  }
  // End of list of possible types for union field structured_result.
}
الحقول

حقل الربط structured_result

يمكن أن يكون structured_result واحدًا فقط مما يلي:

person

object (Person)

تمثيل شخص

SpellResult

تمثيل JSON
{
  "suggestedQuery": string,
  "suggestionType": enum (SpellResult.SuggestionType),
  "suggestedQueryHtml": {
    object (SafeHtmlProto)
  }
}
الحقول
suggestedQuery

string

التهجئة المقترَحة للطلب

suggestionType

enum (SpellResult.SuggestionType)

اقتراح تم تشغيله لطلب البحث الحالي

suggestedQueryHtml

object (SafeHtmlProto)

رمز HTML الذي تمّت إزالة الأجزاء غير المرغوب فيها منه ويمثّل طلب البحث الذي تمّت تصحيح الأخطاء الإملائية فيه والذي يمكن استخدامه في واجهة المستخدم. يحتوي هذا القسم عادةً على علامات خاصة باللغة لتمييز أجزاء من طلب البحث التي يتم تدقيقها إملائيًا.

SpellResult.SuggestionType

نوع الاقتراح الذي تم تشغيله لطلب البحث

عمليات التعداد
SUGGESTION_TYPE_UNSPECIFIED نوع التدقيق الإملائي التلقائي
NON_EMPTY_RESULTS_SPELL_SUGGESTION اقتراح إملائي بدون تغيير أي نتائج لا تزال النتائج تظهر لطلب البحث الأصلي (الذي يتضمّن نتائج غير صفرية) مع اقتراح للكتابة الصحيحة التي قد تؤدي إلى ظهور نتائج.
ZERO_RESULTS_FULL_PAGE_REPLACEMENT يتم تفعيل ميزة "اقتراحات التهجئة" عندما لا يعرض طلب البحث الأصلي أي نتائج. عندما لا يعرض طلب البحث الأصلي أي نتائج، ولكن يعرض اقتراح التدقيق الإملائي نتائج، نعرض نتائج طلب البحث الذي تم تصحيحه إملائيًا.

SafeHtmlProto

ملاحظة مهمة: من غير الآمن قبول هذه الرسالة من مصدر غير موثوق به، لأنّه من السهل على المهاجم تزوير رسائل متسلسلة لا تستوفي شروط أمان النوع، على سبيل المثال، قد تحتوي على نص برمجي يتحكّم فيه المهاجم. يثق النظام الذي يتلقّى عنصر SafeHtmlProto بشكل ضمني بمُنشئ عنصر SafeHtmlProto. وبالتالي، من الآمن بشكل عام عرض هذه الرسالة في ردود طلب إجراء برمجة التطبيقات، ولكن من غير الآمن بشكل عام قبولها في طلبات طلب إجراء برمجة التطبيقات.

تمثيل JSON
{
  "privateDoNotAccessOrElseSafeHtmlWrappedValue": string
}
الحقول
privateDoNotAccessOrElseSafeHtmlWrappedValue

string

ملاحظة مهمة: لا تضبط هذا الحقل أو تقرأه مطلقًا، حتى من الاختبارات، لأنّه خاص. اطّلِع على المستندات في أعلى ملف ‎ .proto لحِزم لغات البرمجة التي يمكنك استخدامها لإنشاء هذه الرسالة أو قراءتها.

FacetResult

استجابة السمة الخاصة بالمصدر

تمثيل JSON
{
  "sourceName": string,
  "objectType": string,
  "operatorName": string,
  "buckets": [
    {
      object (FacetBucket)
    }
  ]
}
الحقول
sourceName

string

اسم المصدر الذي يتمّ من خلاله عرض نتائج السمات. لن تكون فارغة.

objectType

string

نوع العنصر الذي يتم عرض نتائج السمات له. يمكن ترك هذا الحقل فارغًا.

operatorName

string

اسم عامل التشغيل الذي تم اختياره لتقسيم البيانات إلى شرائح. @see cloudsearch.SchemaPropertyOptions

buckets[]

object (FacetBucket)

FacetBuckets للقيم في الاستجابة التي تحتوي على نتيجة واحدة على الأقل مع الفلتر المقابل

FacetBucket

الحزمة في إحدى السمات هي الوحدة الأساسية للعملية. يمكن أن تتألف الحزمة من قيمة واحدة أو نطاق متّصل من القيم، وذلك حسب نوع الحقل الذي تم تقسيمه إلى حِزم. لا يتم استخدام FacetBucket حاليًا إلا لعرض كائن الاستجابة.

تمثيل JSON
{
  "count": integer,
  "percentage": integer,
  "filter": {
    object (Filter)
  },

  // Union field bucket_value can be only one of the following:
  "value": {
    object (Value)
  }
  // End of list of possible types for union field bucket_value.
}
الحقول
count

integer

عدد النتائج التي تتطابق مع قيمة الحزمة لا يتم عرض الأعداد في عمليات البحث إلا عند التأكّد من دقتها. لا تضمن خدمة Cloud Search أعداد السمات لأي طلب بحث، وقد لا تظهر أعداد السمات إلا بشكل متقطّع، حتى بالنسبة إلى طلبات البحث المتطابقة. لا تُنشئ تبعيات على توفّر عدد السمات، بل استخدِم بدلاً من ذلك النسب المئوية لعدد السمات التي يتم عرضها دائمًا.

percentage

integer

النسبة المئوية للنتائج التي تتطابق مع قيمة الحزمة تتراوح القيمة المعروضة بين [0 و100]، ويتم تقريبها إلى عدد صحيح إذا كانت كسرية. إذا لم يتم عرض القيمة بشكل صريح، فإنّها تمثّل قيمةً مئوية يتم تقريبها إلى 0. يتم عرض النسب المئوية لجميع عمليات البحث، ولكنها تقديرية. وبما أنّه يتمّ عرض النسب المئوية دائمًا، يجب عرض النسب المئوية بدلاً من الأعداد.

filter

object (Filter)

الفلتر الذي سيتم تمريره في طلب البحث في حال اختيار الحزمة المقابلة

حقل الربط bucket_value يمكن أن يكون النطاق أو قيمة الحزمة التي تم تقسيمها إلى شرائح bucket_value إحدى القيم التالية فقط:
value

object (Value)

ResponseDebugInfo

معلومات تصحيح الأخطاء حول الردّ

تمثيل JSON
{
  "formattedDebugInfo": string
}
الحقول
formattedDebugInfo

string

معلومات عامة عن تصحيح الأخطاء تم تنسيقها للعرض.

ErrorInfo

معلومات الخطأ حول الردّ

تمثيل JSON
{
  "errorMessages": [
    {
      object (ErrorMessage)
    }
  ]
}
الحقول
errorMessages[]

object (ErrorMessage)

ErrorMessage

رسالة الخطأ لكلّ ردّ من مصدر

تمثيل JSON
{
  "source": {
    object (Source)
  },
  "errorMessage": string
}
الحقول
source

object (Source)

errorMessage

string

ResultCounts

معلومات عدد النتائج

تمثيل JSON
{
  "sourceResultCounts": [
    {
      object (SourceResultCount)
    }
  ]
}
الحقول
sourceResultCounts[]

object (SourceResultCount)

معلومات عدد النتائج لكل مصدر يتضمّن نتائج

SourceResultCount

معلومات حول عدد النتائج لكل مصدر

تمثيل JSON
{
  "source": {
    object (Source)
  },
  "hasMoreResults": boolean,

  // Union field result_count can be only one of the following:
  "resultCountEstimate": string,
  "resultCountExact": string
  // End of list of possible types for union field result_count.
}
الحقول
source

object (Source)

المصدر المرتبط بمعلومات عدد النتائج

hasMoreResults

boolean

ما إذا كانت هناك المزيد من نتائج البحث لهذا المصدر

حقل الربط result_count

يمكن أن يكون result_count واحدًا فقط مما يلي:

resultCountEstimate

string (int64 format)

عدد النتائج المقدَّرة لهذا المصدر.

resultCountExact

string (int64 format)

عدد النتائج الدقيقة لهذا المصدر.