- طلب 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 Query API طريقة البحث التي تعرض النتائج الأكثر صلةً بطلب بحث المستخدم. يمكن أن تأتي النتائج من تطبيقات Google Workspace، مثل Gmail أو Google Drive، أو يمكن أن تأتي من بيانات فهّمتها من جهة خارجية.
ملاحظة: تتطلّب واجهة برمجة التطبيقات هذه حساب مستخدم نهائي عادي لتنفيذها. لا يمكن لحساب الخدمة تنفيذ طلبات Query API مباشرةً. لاستخدام حساب خدمة لإجراء طلبات بحث، عليك إعداد تفويض السلطة على مستوى نطاق 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. |
نص الاستجابة
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
استجابة Search API
تمثيل JSON |
---|
{ "queryInterpretation": { object ( |
الحقول | |
---|---|
queryInterpretation |
نتيجة تفسير طلب البحث يكون فارغًا إذا كانت ميزة تفسير طلبات البحث غير مفعّلة. |
results[] |
نتائج من طلب بحث |
structuredResults[] |
نتائج منظَّمة لطلب بحث المستخدم ولا يتم احتساب هذه النتائج ضمن pageSize. |
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 |
الإبلاغ عن إيقاف تفسير طلبات البحث باللغة الطبيعية القيمة التلقائية هي false، ويمكنك ضبطها على true لإيقاف تفسير اللغة الطبيعية. لا ينطبق تفسير اللغة الطبيعية إلا على مصادر البيانات المحدّدة مسبقًا. |
enableVerbatimMode |
فعِّل هذا الخيار لإيقاف جميع التحسينات الداخلية، مثل تفسير اللغة الطبيعية (NL) لطلبات البحث واسترداد النتائج التكميلية واستخدام المرادفات، بما في ذلك المرادفات المخصّصة. سيتم إيقاف تفسير Nl إذا كان أيّ من العلامتَين صحيحًا. |
disableSupplementalResults |
استخدِم هذا العلامة لإيقاف النتائج التكميلية لطلب بحث معيّن. سيكون لإعداد النتائج التكميلية الذي تم اختياره على مستوى SearchApplication الأولوية في حال ضبطه على True. |
QueryInterpretation
تمثيل JSON |
---|
{ "interpretedQuery": string, "interpretationType": enum ( |
الحقول | |
---|---|
interpretedQuery |
تفسير طلب البحث المستخدَم في البحث على سبيل المثال، سيتم تفسير طلبات البحث التي تتضمّن نية لغة طبيعية، مثل "البريد الإلكتروني من كمال"، على أنّها "from:كمال source:mail". لن يتم ملء هذا الحقل عندما يكون السبب هو NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY. |
interpretationType |
|
reason |
سبب تفسير الطلب لن يكون هذا الحقل غير محدّد إذا لم يكن نوع التفسير هو "بدون تفسير". |
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 "Zulu" وبدقة تصل إلى نانوثانية وما يصل إلى تسعة أرقام كسور. أمثلة: |
updateTime |
تاريخ آخر تعديل للعنصر في نتيجة البحث إذا لم يتم ضبطها في العنصر، تكون القيمة المعروضة هنا فارغة. عند استخدام يجب أن يكون طابعًا زمنيًا بالتنسيق RFC3339 UTC "Zulu" وبدقة تصل إلى نانوثانية وما يصل إلى تسعة أرقام كسور. أمثلة: |
fields[] |
الحقول المفهرَسة في البيانات المنظَّمة، والتي يتم عرضها كسمة عامة مُسمّاة |
displayOptions |
خيارات تحدّد كيفية عرض نتيجة بحث عن بيانات منظَّمة |
objectType |
نوع العنصر في نتيجة البحث |
ResultDisplayMetadata
تمثيل JSON |
---|
{
"objectTypeLabel": string,
"metalines": [
{
object ( |
الحقول | |
---|---|
objectTypeLabel |
التصنيف المعروض للكائن |
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 حاليًا إلا لعرض كائن الاستجابة.
الحقول | |
---|---|
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 |
عدد النتائج الدقيقة لهذا المصدر. |