Method: query.search

Cloud Search क्वेरी एपीआई, खोज का तरीका उपलब्ध कराता है. इसका इस्तेमाल करके, उपयोगकर्ता की क्वेरी से सबसे ज़्यादा काम के नतीजे मिलते हैं. ये नतीजे, Google Workspace ऐप्लिकेशन, जैसे कि Gmail या Google Drive से आ सकते हैं. इसके अलावा, ये ऐसे डेटा से भी आ सकते हैं जिसे आपने किसी तीसरे पक्ष से इंडेक्स किया हो.

ध्यान दें: इस एपीआई का इस्तेमाल करने के लिए, स्टैंडर्ड असली उपयोगकर्ता खाता होना ज़रूरी है. कोई सेवा खाता सीधे तौर पर, Query API के अनुरोध नहीं कर सकता. अगर आपको क्वेरी करने के लिए किसी सेवा खाते का इस्तेमाल करना है, तो Google Workspace के पूरे डोमेन को अधिकार देने की सुविधा सेट अप करें.

एचटीटीपी अनुरोध

POST https://cloudsearch.googleapis.com/v1/query/search

यूआरएल, gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में इस तरह का डेटा शामिल होता है:

जेएसओएन के काेड में दिखाना
{
  "requestOptions": {
    object (RequestOptions)
  },
  "query": string,
  "pageSize": integer,
  "start": integer,
  "dataSourceRestrictions": [
    {
      object (DataSourceRestriction)
    }
  ],
  "facetOptions": [
    {
      object (FacetOptions)
    }
  ],
  "sortOptions": {
    object (SortOptions)
  },
  "queryInterpretationOptions": {
    object (QueryInterpretationOptions)
  },
  "contextAttributes": [
    {
      object (ContextAttribute)
    }
  ]
}
फ़ील्ड
requestOptions

object (RequestOptions)

अनुरोध के विकल्प, जैसे कि खोज ऐप्लिकेशन और उपयोगकर्ता का टाइमज़ोन.

query

string

रॉ क्वेरी स्ट्रिंग. ऑपरेटर की मदद से अपनी खोज को सटीक बनाना में जाकर, काम करने वाले खोज ऑपरेटर देखें

pageSize

integer

एक पेज में दिखाए जाने वाले खोज के नतीजों की ज़्यादा से ज़्यादा संख्या. मान्य वैल्यू 1 से 100 के बीच होती है. इसमें भी शामिल हैं. डिफ़ॉल्ट वैल्यू 10 है. अगर नतीजों के लिए 2,000 से ज़्यादा अनुरोध किए जाते हैं, तो वैल्यू कम से कम 50 होनी चाहिए.

start

integer

नतीजों का शुरुआती इंडेक्स.

dataSourceRestrictions[]

object (DataSourceRestriction)

क्वेरी करने के लिए इस्तेमाल किए जाने वाले सोर्स. अगर जानकारी नहीं दी गई है, तो मौजूदा सर्च ऐप्लिकेशन के सभी डेटा सोर्स इस्तेमाल किए जाते हैं.

facetOptions[]

object (FacetOptions)

sortOptions

object (SortOptions)

खोज के नतीजों को क्रम से लगाने के विकल्प

queryInterpretationOptions

object (QueryInterpretationOptions)

उपयोगकर्ता क्वेरी को समझने के लिए विकल्प.

contextAttributes[]

object (ContextAttribute)

अनुरोध के लिए कॉन्टेक्स्ट एट्रिब्यूट जिनका इस्तेमाल खोज के नतीजों की रैंकिंग में बदलाव करने के लिए किया जाएगा. ज़्यादा से ज़्यादा 10 एलिमेंट जोड़े जा सकते हैं.

जवाब का मुख्य भाग

अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.

Search API से मिला रिस्पॉन्स.

जेएसओएन के काेड में दिखाना
{
  "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. अनुरोध किए गए सभी डेटा सोर्स में नतीजों की कुल संख्या. क्वेरी किए गए डेटा सोर्स के सेट में पहले से तय सोर्स शामिल होने पर इसे हटा दिया जाता है. इन स्थितियों में, नतीजों की संख्या को सटीक के बजाय अनुमान के तौर पर दिखाया जा सकता है:

  • जब क्वेरी के किसी वाक्यांश में दो से ज़्यादा शब्द हों, जैसे कि कोटेशन में "नतीजे की गिनती सटीक".

  • जब आकलन करने के लिए यूनीक खोज नतीजे ACL की संख्या बहुत ज़्यादा हो, जिसकी गणना उचित इंतज़ार के समय में नहीं की जा सकती.

बहुत कम मामलों में, जब सिस्टम सभी दस्तावेज़ों में खोज नहीं कर पाता, तब क्वेरी को फिर से चलाएं. result_count इनमें से सिर्फ़ एक हो सकता है:

resultCountEstimate

string (int64 format)

इस क्वेरी के लिए अनुमानित नतीजों की संख्या.

resultCountExact

string (int64 format)

इस क्वेरी के लिए सटीक नतीजों की संख्या.

अनुमति पाने के लिंक

इनमें से कोई एक OAuth स्कोप ज़रूरी है:

  • https://www.googleapis.com/auth/cloud_search.query
  • https://www.googleapis.com/auth/cloud_search

ज़्यादा जानकारी के लिए, अनुमति देने से जुड़ी गाइड देखें.

QueryInterpretationOptions

उपयोगकर्ता क्वेरी को समझने के लिए विकल्प.

जेएसओएन के काेड में दिखाना
{
  "disableNlInterpretation": boolean,
  "enableVerbatimMode": boolean,
  "disableSupplementalResults": boolean
}
फ़ील्ड
disableNlInterpretation

boolean

क्वेरी की नैचुरल लैंग्वेज (एनएल) व्याख्या बंद करने के लिए फ़्लैग करें. डिफ़ॉल्ट तौर पर, यह 'गलत है' पर सेट होता है. आम भाषा में अनुवाद की सुविधा बंद करने के लिए, इसे 'सही है' पर सेट करें. एनएल की जानकारी, पहले से तय डेटा सोर्स पर ही लागू होती है.

enableVerbatimMode

boolean

क्वेरी की प्राकृतिक भाषा (एनएल) की व्याख्या, पूरक नतीजे वापस पाने, और पसंद के मुताबिक बनाए गए समानार्थी शब्दों के इस्तेमाल जैसे सभी इंटरनल ऑप्टिमाइज़ेशन को बंद करने के लिए, इस फ़्लैग को चालू करें. अगर दोनों में से कोई एक फ़्लैग सही है, तो Nl व्याख्या बंद कर दी जाएगी.

disableSupplementalResults

boolean

किसी क्वेरी के लिए पूरक नतीजों को बंद करने के लिए, इस फ़्लैग का इस्तेमाल करें. अगर 'सही है' पर सेट किया जाता है, तो SearchApplication के लेवल पर चुनी गई पूरक नतीजे की सेटिंग को प्राथमिकता दी जाएगी.

QueryInterpretation

जेएसओएन के काेड में दिखाना
{
  "interpretedQuery": string,
  "interpretationType": enum (QueryInterpretation.InterpretationType),
  "reason": enum (QueryInterpretation.Reason)
}
फ़ील्ड
interpretedQuery

string

खोज में इस्तेमाल की गई क्वेरी का मतलब. उदाहरण के लिए, नैचुरल लैंग्वेज इंटेंट वाली क्वेरी, जैसे कि "email from john" को "from:john Source:mail" के तौर पर समझा जाएगा. वजह NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY होने पर, यह फ़ील्ड नहीं भरा जाएगा.

interpretationType

enum (QueryInterpretation.InterpretationType)

reason

enum (QueryInterpretation.Reason)

क्वेरी समझने की वजह. अगर जानकारी का टाइप NONE नहीं है, तो इस फ़ील्ड की जानकारी नहीं दी जाएगी.

QueryInterpretation.InterpretationType

Enums
NONE खोज के नतीजे फ़ेच करने के लिए, न तो आम भाषा में अनुवाद का इस्तेमाल किया जाता है और न ही क्वेरी के बड़े वर्शन का इस्तेमाल किया जाता है.
BLEND मूल क्वेरी के नतीजों को दूसरे नतीजों के साथ मिला दिया जाता है. इन अन्य नतीजों को ओरिजनल क्वेरी के नतीजों के साथ ब्लेंड करने की वजह, नीचे दिए गए 'वजह' फ़ील्ड में दिखेगी.
REPLACE ओरिजनल क्वेरी के नतीजे बदल दिए जाते हैं. ओरिजनल क्वेरी से नतीजे बदलने की वजह नीचे 'वजह' फ़ील्ड में दी गई होती है.

QueryInterpretation.Reason

Enums
UNSPECIFIED
QUERY_HAS_NATURAL_LANGUAGE_INTENT क्वेरी की स्वाभाविक भाषा में व्याख्या का इस्तेमाल, खोज के नतीजे फ़ेच करने के लिए किया जाता है.
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY क्वेरी और दस्तावेज़ के शब्दों की समानता का इस्तेमाल, अतिरिक्त खोज नतीजे पाने के लिए चुनिंदा रूप से क्वेरी को बड़ा करने के लिए किया जाता है, क्योंकि उपयोगकर्ता की क्वेरी के लिए ज़रूरी नतीजे नहीं मिले. इस मामले में, इंटरप्रेटेड क्वेरी खाली होगी.

SearchResult

ऐसे नतीजे जिनमें दस्तावेज़ के लिए इंडेक्स की गई जानकारी मौजूद है.

जेएसओएन के काेड में दिखाना
{
  "title": string,
  "url": string,
  "snippet": {
    object (Snippet)
  },
  "metadata": {
    object (Metadata)
  },
  "clusteredResults": [
    {
      object (SearchResult)
    }
  ],
  "debugInfo": {
    object (ResultDebugInfo)
  }
}
फ़ील्ड
title

string

खोज के नतीजे का टाइटल.

url

string

खोज के नतीजे का यूआरएल. यूआरएल में, असल आइटम पर ले जाने के लिए Google का रीडायरेक्ट मौजूद है. यह यूआरएल हस्ताक्षर किया गया है और इसे बदला नहीं जाना चाहिए.

snippet

object (Snippet)

इस नतीजे के लिए उपलब्ध सभी स्निपेट (खास जानकारी) को जोड़ने की प्रोसेस.

metadata

object (Metadata)

खोज नतीजों का मेटाडेटा.

clusteredResults[]

object (SearchResult)

अगर सोर्स को क्लस्टर में रखा गया है, तो क्लस्टर किए गए नतीजों की सूची दें. क्लस्टर वाले नतीजों का सिर्फ़ एक लेवल होगा. अगर मौजूदा सोर्स को क्लस्टरिंग के लिए चालू नहीं किया गया है, तो यह फ़ील्ड खाली होगा.

debugInfo

object (ResultDebugInfo)

खोज के इस नतीजे की जानकारी को डीबग किया जा रहा है.

स्निपेट

खोज के नतीजे का स्निपेट, जिसमें नतीजे के तौर पर मिले पेज के कॉन्टेंट की खास जानकारी होती है.

जेएसओएन के काेड में दिखाना
{
  "snippet": string,
  "matchRanges": [
    {
      object (MatchRange)
    }
  ]
}
फ़ील्ड
snippet

string

दस्तावेज़ का स्निपेट. दस्तावेज़ का स्निपेट. इसमें एस्केप किया गया एचटीएमएल वर्ण शामिल हो सकता है, जिसे रेंडरिंग से पहले एस्केप नहीं किया जाना चाहिए.

matchRanges[]

object (MatchRange)

स्निपेट में मैच होने वाली रेंज.

MatchRange

स्निपेट की मैच होने वाली रेंज [start, end).

जेएसओएन के काेड में दिखाना
{
  "start": integer,
  "end": integer
}
फ़ील्ड
start

integer

स्निपेट में मैच की शुरुआती जगह.

end

integer

स्निपेट में मिलान का अंत.

मेटाडेटा

खोज के मिलते-जुलते नतीजे का मेटाडेटा.

जेएसओएन के काेड में दिखाना
{
  "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

नतीजे के थंबनेल का यूआरएल.

owner

object (Person)

खोज नतीजे के दस्तावेज़ या ऑब्जेक्ट का मालिक (आम तौर पर क्रिएटर),

createTime

string (Timestamp format)

खोज के नतीजे में इस दस्तावेज़ या ऑब्जेक्ट को बनाने का समय.

RFC3339 यूटीसी "ज़ुलु" फ़ॉर्मैट में एक टाइमस्टैंप, जिसमें नैनोसेकंड रिज़ॉल्यूशन और नौ फ़्रैक्शनल अंक तक हो सकते हैं. उदाहरण: "2014-10-02T15:01:23Z" और "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

खोज के नतीजे में ऑब्जेक्ट के लिए, पिछली बार की गई बदलाव की तारीख. अगर इस आइटम को सेट नहीं किया जाता है, तो यहां दी गई वैल्यू खाली होती है. जब updateTime का इस्तेमाल अपडेट होने की जानकारी का हिसाब लगाने के लिए किया जाता है और इसे सेट नहीं किया जाता, तो यह वैल्यू डिफ़ॉल्ट तौर पर मौजूदा समय से दो साल बाद की होती है.

RFC3339 यूटीसी "ज़ुलु" फ़ॉर्मैट में एक टाइमस्टैंप, जिसमें नैनोसेकंड रिज़ॉल्यूशन और नौ फ़्रैक्शनल अंक तक हो सकते हैं. उदाहरण: "2014-10-02T15:01:23Z" और "2014-10-02T15:01:23.045123456Z".

fields[]

object (NamedProperty)

स्ट्रक्चर्ड डेटा में इंडेक्स किए गए फ़ील्ड, जिन्हें सामान्य नाम वाली प्रॉपर्टी के तौर पर दिखाया गया है.

displayOptions

object (ResultDisplayMetadata)

ऐसे विकल्प जिनमें स्ट्रक्चर्ड डेटा वाले खोज के नतीजे दिखाने का तरीका बताया गया हो.

objectType

string

खोज के नतीजे का ऑब्जेक्ट टाइप.

ResultDisplayMetadata

जेएसओएन के काेड में दिखाना
{
  "objectTypeLabel": string,
  "metalines": [
    {
      object (ResultDisplayMetadata.ResultDisplayLine)
    }
  ]
}
फ़ील्ड
objectTypeLabel

string

ऑब्जेक्ट के लिए डिसप्ले लेबल.

metalines[]

object (ResultDisplayMetadata.ResultDisplayLine)

नतीजे के साथ दिखाने के लिए मेटालाइन कॉन्टेंट.

ResultDisplayMetadata.ResultDisplayLine

उन फ़ील्ड का कलेक्शन जिनसे एक दिखाई जाने वाली लाइन बनती है

जेएसओएन के काेड में दिखाना
{
  "fields": [
    {
      object (ResultDisplayMetadata.ResultDisplayField)
    }
  ]
}
फ़ील्ड
fields[]

object (ResultDisplayMetadata.ResultDisplayField)

ResultDisplayMetadata.ResultDisplayField

क्वेरी.खोज नतीजों के लिए फ़ील्ड दिखाएं

जेएसओएन के काेड में दिखाना
{
  "label": string,
  "operatorName": string,
  "property": {
    object (NamedProperty)
  }
}
फ़ील्ड
label

string

प्रॉपर्टी के लिए डिसप्ले लेबल.

operatorName

string

प्रॉपर्टी के ऑपरेटर का नाम.

property

object (NamedProperty)

प्रॉपर्टी के लिए नाम की वैल्यू का जोड़ा.

ResultDebugInfo

नतीजे के बारे में जानकारी डीबग की जा रही है.

जेएसओएन के काेड में दिखाना
{
  "formattedDebugInfo": string
}
फ़ील्ड
formattedDebugInfo

string

डिसप्ले के लिए फ़ॉर्मैट की गई डीबग की सामान्य जानकारी.

StructuredResult

खोज के अनुरोध के तौर पर मिले स्ट्रक्चर्ड नतीजे.

जेएसओएन के काेड में दिखाना
{
  "person": {
    object (Person)
  }
}
फ़ील्ड
person

object (Person)

किसी व्यक्ति का प्रतिनिधित्व

SpellResult

जेएसओएन के काेड में दिखाना
{
  "suggestedQuery": string
}
फ़ील्ड
suggestedQuery

string

क्वेरी के लिए सुझाई गई स्पेलिंग.

FacetResult

स्रोत से जुड़े पहलुओं के आधार पर जवाब

जेएसओएन के काेड में दिखाना
{
  "sourceName": string,
  "objectType": string,
  "operatorName": string,
  "buckets": [
    {
      object (FacetBucket)
    }
  ]
}
फ़ील्ड
sourceName

string

वह स्रोत नाम जिसके लिए मुखिका नतीजे दिए जाते हैं. खाली नहीं होगा.

objectType

string

उस ऑब्जेक्ट का प्रकार जिसके लिए फ़िल्टर के नतीजे दिखाए जाते हैं. इसे खाली छोड़ा जा सकता है.

operatorName

string

फ़ेसिंग के लिए चुने गए ऑपरेटर का नाम. @see cloudsearch.schemaप्रॉपर्टी विकल्प

buckets[]

object (FacetBucket)

FacetBuckets रिस्पॉन्स में, उनसे जुड़े फ़िल्टर के साथ कम से कम एक नतीजा मिला.

FacetBucket

फ़िल्टर में बकेट, ऑपरेशन की बुनियादी इकाई होती है. किसी बकेट में कोई एक वैल्यू या वैल्यू की रेंज लगातार शामिल हो सकती है. यह इस पर निर्भर करता है कि बकेट किए गए फ़ील्ड किस तरह का है. फ़िलहाल, FacetBucket का इस्तेमाल सिर्फ़ रिस्पॉन्स ऑब्जेक्ट को दिखाने के लिए किया जाता है.

जेएसओएन के काेड में दिखाना
{
  "count": integer,
  "percentage": integer,
  "filter": {
    object (Filter)
  },
  "value": {
    object (Value)
  }
}
फ़ील्ड
count

integer

बकेट की वैल्यू से मेल खाने वाले नतीजों की संख्या. खोजों की गिनती सिर्फ़ तब की जाती है, जब गिनती के सटीक होने की पुष्टि की जाती हो. Cloud Search, किसी भी क्वेरी के लिए मुखिकाओं की संख्या की गारंटी नहीं देता. अलग-अलग पहलुओं की संख्या कभी-कभी ही मौजूद हो सकती है. ऐसा एक जैसी क्वेरी के लिए भी हो सकता है. मुखिका संख्या के अस्तित्व पर निर्भरियां न बनाएं; इसके बजाय उन मुखिकाओं के प्रतिशत का उपयोग करें जो हमेशा लौटाए जाते हैं.

percentage

integer

बकेट की वैल्यू से मेल खाने वाले नतीजों का प्रतिशत. वापस दी गई वैल्यू (0 से 100] के बीच होती है और अगर फ़्रैक्शनल है, तो उसे पूर्णांक में बदल दिया जाता है. अगर वैल्यू साफ़ तौर पर नहीं दिखाई जाती, तो यह प्रतिशत वैल्यू दिखाती है जो 0 के करीब होती है. प्रतिशत, सभी खोजों के लिए दिखाए जाते हैं, लेकिन यह एक अनुमान होते हैं. प्रतिशत हमेशा दिखाए जाते हैं, इसलिए आपको गिनती के बजाय प्रतिशत रेंडर करना चाहिए.

filter

object (Filter)

अगर खोज से जुड़ा बकेट चुना जाता है, तो खोज अनुरोध में पास किया जाने वाला फ़िल्टर.

value

object (Value)

ResponseDebugInfo

रिस्पॉन्स के बारे में जानकारी डीबग की जा रही है.

जेएसओएन के काेड में दिखाना
{
  "formattedDebugInfo": string
}
फ़ील्ड
formattedDebugInfo

string

डिसप्ले के लिए फ़ॉर्मैट की गई डीबग की सामान्य जानकारी.

ErrorInfo

जवाब के बारे में गड़बड़ी की जानकारी.

जेएसओएन के काेड में दिखाना
{
  "errorMessages": [
    {
      object (ErrorMessage)
    }
  ]
}
फ़ील्ड
errorMessages[]

object (ErrorMessage)

ErrorMessage

हर सोर्स रिस्पॉन्स के हिसाब से गड़बड़ी का मैसेज.

जेएसओएन के काेड में दिखाना
{
  "source": {
    object (Source)
  },
  "errorMessage": string
}
फ़ील्ड
source

object (Source)

errorMessage

string

ResultCounts

नतीजों की संख्या की जानकारी

जेएसओएन के काेड में दिखाना
{
  "sourceResultCounts": [
    {
      object (SourceResultCount)
    }
  ]
}
फ़ील्ड
sourceResultCounts[]

object (SourceResultCount)

हर सोर्स के लिए, नतीजों की संख्या के बारे में जानकारी.

SourceResultCount

हर सोर्स के नतीजे की संख्या की जानकारी.

जेएसओएन के काेड में दिखाना
{
  "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)

इस सोर्स के लिए सटीक नतीजे की संख्या.