- درخواست HTTP
- درخواست بدن
- بدن پاسخگو
- محدوده مجوز
- QueryInterpretationOptions
- Query Interpretation
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- نتیجه جستجو
- قطعه
- Match Range
- فراداده
- ResultDisplayMetadata
- ResultDisplayMetadata.ResultDisplayLine
- ResultDisplayMetadata.ResultDisplayField
- ResultDebugInfo
- Structured Result
- Spell Result
- FacetResult
- FacetBucket
- ResponseDebugInfo
- اطلاعات خطا
- پیام خطا
- تعداد نتایج
- SourceResultCount
- آن را امتحان کنید!
Cloud Search Query API روش جستجو را ارائه می دهد که مرتبط ترین نتایج را از یک درخواست کاربر برمی گرداند. نتایج میتوانند از برنامههای Google Workspace، مانند Gmail یا Google Drive، یا از دادههایی که شما از شخص ثالث ایندکس کردهاید به دست آیند.
توجه: این API برای اجرا به یک حساب کاربری نهایی استاندارد نیاز دارد. یک حساب سرویس نمیتواند درخواستهای Query API را مستقیماً انجام دهد. برای استفاده از حساب سرویس برای انجام پرس و جوها، تفویض اختیار در سراسر دامنه Google Workspace را تنظیم کنید.
درخواست HTTP
POST https://cloudsearch.googleapis.com/v1/query/search
URL از دستور GRPC Transcoding استفاده می کند.
درخواست بدن
بدنه درخواست حاوی داده هایی با ساختار زیر است:
نمایندگی JSON |
---|
{ "requestOptions": { object ( |
فیلدها | |
---|---|
requestOptions | گزینههایی مانند برنامه جستجو و منطقه زمانی کاربر را درخواست کنید. |
query | رشته پرس و جو خام. اپراتورهای جستجوی پشتیبانی شده را در قسمت جستجوی خود را با عملگرها محدود کنید |
pageSize | حداکثر تعداد نتایج جستجو برای بازگشت در یک صفحه. مقادیر معتبر شامل 1 تا 100 است. مقدار پیشفرض 10 است. حداقل مقدار 50 است که نتایجی بیش از 2000 درخواست شود. |
start | شاخص شروع نتایج. |
dataSourceRestrictions[] | منابع مورد استفاده برای پرس و جو اگر مشخص نشده باشد، همه منابع داده از برنامه جستجوی فعلی استفاده می شود. |
facetOptions[] | |
sortOptions | گزینه هایی برای مرتب سازی نتایج جستجو |
queryInterpretationOptions | گزینه هایی برای تفسیر پرس و جو کاربر |
contextAttributes[] | ویژگی های زمینه برای درخواست که برای تنظیم رتبه بندی نتایج جستجو استفاده می شود. حداکثر تعداد عناصر 10 است. |
بدن پاسخگو
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:
پاسخ 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 | برای غیرفعال کردن تفسیر جستجوهای زبان طبیعی (NL) پرچم گذاری کنید. پیشفرض نادرست است، برای غیرفعال کردن تفسیر زبان طبیعی روی true تنظیم کنید. تفسیر NL فقط برای منابع داده از پیش تعریف شده اعمال می شود. |
enableVerbatimMode | این پرچم را فعال کنید تا همه بهینهسازیهای داخلی مانند تفسیر جستارهای زبان طبیعی (NL)، بازیابی نتایج تکمیلی و استفاده از مترادفها از جمله موارد سفارشی را خاموش کند. اگر یکی از دو پرچم درست باشد، تفسیر Nl غیرفعال خواهد شد. |
disableSupplementalResults | از این پرچم برای غیرفعال کردن نتایج تکمیلی برای یک پرس و جو استفاده کنید. اگر روی True تنظیم شود، تنظیمات نتایج تکمیلی انتخاب شده در سطح SearchApplication اولویت خواهد داشت. |
Query Interpretation
نمایندگی JSON |
---|
{ "interpretedQuery": string, "interpretationType": enum ( |
فیلدها | |
---|---|
interpretedQuery | تفسیر پرس و جو مورد استفاده در جستجو. به عنوان مثال، پرس و جوهایی با هدف زبان طبیعی مانند "ایمیل از جان" به عنوان "from:john source:mail" تفسیر خواهند شد. وقتی دلیل NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY باشد، این فیلد پر نخواهد شد. |
interpretationType | |
reason | دلیل تفسیر پرس و جو. اگر نوع تفسیر NONE نباشد، این فیلد نامشخص نخواهد بود. |
QueryInterpretation.InterpretationType
Enums | |
---|---|
NONE | نه از تفسیر زبان طبیعی و نه نسخه گسترده تر از پرس و جو برای واکشی نتایج جستجو استفاده نمی شود. |
BLEND | نتایج حاصل از پرس و جو اصلی با نتایج دیگر ترکیب می شود. دلیل ترکیب این نتایج دیگر با نتایج جستجوی اصلی در قسمت "دلیل" زیر پر شده است. |
REPLACE | نتایج حاصل از پرس و جو اصلی جایگزین می شوند. دلیل جایگزینی نتایج جستجوی اصلی در قسمت "دلیل" زیر پر شده است. |
QueryInterpretation.Reason
Enums | |
---|---|
UNSPECIFIED | |
QUERY_HAS_NATURAL_LANGUAGE_INTENT | تفسیر زبان طبیعی پرس و جو برای واکشی نتایج جستجو استفاده می شود. |
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY | شباهت اصطلاحات پرس و جو و سند برای گسترش انتخابی پرس و جو برای بازیابی نتایج جستجوی اضافی استفاده می شود زیرا نتایج کافی برای درخواست کاربر پیدا نشد. پرس و جوی تفسیر شده برای این مورد خالی خواهد بود. |
نتیجه جستجو
نتایج حاوی اطلاعات نمایه شده برای یک سند.
نمایندگی 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[] | محدوده های منطبق در قطعه. |
Match Range
محدوده همسان یک قطعه [شروع، پایان).
نمایندگی JSON |
---|
{ "start": integer, "end": integer } |
فیلدها | |
---|---|
start | موقعیت شروع مسابقه در قطعه. |
end | پایان مسابقه در قطعه. |
فراداده
فراداده یک نتیجه جستجوی منطبق
نمایندگی JSON |
---|
{ "source": { object ( |
فیلدها | |
---|---|
source | منبع نامگذاری شده برای نتیجه، مانند Gmail. |
mimeType | نوع Mime نتیجه جستجو. |
thumbnailUrl | نشانی اینترنتی تصویر کوچک نتیجه. |
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 | اطلاعات اشکال زدایی عمومی برای نمایش فرمت شده است. |
Structured Result
نتایج ساختاریافته ای که به عنوان بخشی از درخواست جستجو برگردانده می شوند.
نمایندگی 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[] | FacetBucket برای مقادیر در پاسخ حاوی حداقل یک نتیجه با فیلتر مربوطه. |
FacetBucket
یک سطل در یک وجه واحد اصلی عملیات است. بسته به نوع فیلد سطلی، یک سطل میتواند شامل یک مقدار واحد یا محدودهای از مقادیر پیوسته باشد. FacetBucket در حال حاضر فقط برای برگرداندن شی پاسخ استفاده می شود.
نمایندگی JSON |
---|
{ "count": integer, "percentage": integer, "filter": { object ( |
فیلدها | |
---|---|
count | تعداد نتایجی که با مقدار سطل مطابقت دارند. شمارش ها تنها زمانی برای جستجو برگردانده می شوند که از دقت شمارش اطمینان حاصل شود. Cloud Search تعداد جنبهها را برای هر درخواستی تضمین نمیکند و تعداد جنبهها ممکن است فقط به صورت متناوب وجود داشته باشد، حتی برای جستارهای یکسان. به وجود تعداد وجهی وابستگی ایجاد نکنید. به جای آن از درصدهای تعداد چهره استفاده کنید که همیشه برگردانده می شوند. |
percentage | درصد نتایجی که با مقدار سطل مطابقت دارند. مقدار برگشتی بین (0-100] است و اگر کسری باشد به یک عدد صحیح گرد می شود. اگر مقدار صریحاً برگردانده نشود، مقدار درصدی را نشان می دهد که به 0 می رسد. درصدها برای همه جستجوها برگردانده می شوند، اما یک تخمین هستند. از آنجایی که درصدها همیشه برگردانده می شوند، باید به جای شمارش درصدها را ارائه دهید. |
filter | فیلتری که در صورت انتخاب سطل مربوطه در درخواست جستجو ارسال می شود. |
value | |
ResponseDebugInfo
اشکال زدایی اطلاعات مربوط به پاسخ.
نمایندگی JSON |
---|
{ "formattedDebugInfo": string } |
فیلدها | |
---|---|
formattedDebugInfo | اطلاعات اشکال زدایی عمومی برای نمایش فرمت شده است. |
اطلاعات خطا
اطلاعات خطا در مورد پاسخ.
نمایندگی JSON |
---|
{
"errorMessages": [
{
object ( |
فیلدها | |
---|---|
errorMessages[] | |
پیام خطا
پیام خطا در هر پاسخ منبع.
نمایندگی JSON |
---|
{
"source": {
object ( |
فیلدها | |
---|---|
source | |
errorMessage | |
تعداد نتایج
اطلاعات شمارش نتایج
نمایندگی JSON |
---|
{
"sourceResultCounts": [
{
object ( |
فیلدها | |
---|---|
sourceResultCounts[] | اطلاعات شمارش نتایج برای هر منبع با نتایج. |
SourceResultCount
اطلاعات شمارش نتیجه در هر منبع.
نمایندگی JSON |
---|
{ "source": { object ( |
فیلدها | |
---|---|
source | منبعی که اطلاعات شمارش نتایج با آن مرتبط است. |
hasMoreResults | آیا نتایج جستجوی بیشتری برای این منبع وجود دارد. |
| |
resultCountEstimate | شمارش نتایج تخمینی برای این منبع. |
resultCountExact | شمارش دقیق نتیجه برای این منبع. |