Method: query.search

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

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

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

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

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

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

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

JSON के काेड में दिखाना
{
  "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 से मिला रिस्पॉन्स.

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

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

  • जब आकलन के लिए खास खोज नतीजे 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

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

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

boolean

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

enableVerbatimMode

boolean

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

disableSupplementalResults

boolean

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

QueryInterpretation

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

क्वेरी को समझने की वजह. अगर व्याख्या का प्रकार कोई नहीं है, तो यह फ़ील्ड साफ़ तौर पर उपलब्ध नहीं होगा.

QueryInterpretation.InterpretationType

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

QueryInterpretation.Reason

Enums
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

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

snippet

object (Snippet)

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

metadata

object (Metadata)

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

clusteredResults[]

object (SearchResult)

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

debugInfo

object (ResultDebugInfo)

इस खोज के नतीजे के बारे में जानकारी डीबग करने के लिए.

स्निपेट

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

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

string

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

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

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

owner

object (Person)

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

createTime

string (Timestamp format)

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

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

updateTime

string (Timestamp format)

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

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

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 के काेड में दिखाना
{
  "person": {
    object (Person)
  }
}
फ़ील्ड
person

object (Person)

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

SpellResult

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

string

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

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)
  },
  "value": {
    object (Value)
  }
}
फ़ील्ड
count

integer

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

percentage

integer

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

filter

object (Filter)

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

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)

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