Method: query.search

Cloud Search Query API, kullanıcı sorgusundan en alakalı sonuçları döndüren arama yöntemini sağlar. Sonuçlar Gmail veya Google Drive gibi Google Workspace uygulamalarından ya da bir üçüncü taraftan dizine eklediğiniz verilerden gelebilir.

Not: Bu API'nin çalıştırılması için standart bir son kullanıcı hesabı gerekir. Hizmet hesapları, Query API isteklerini doğrudan gerçekleştiremez. Sorgu yürütmek için bir hizmet hesabı kullanmak istiyorsanız Google Workspace alanı genelinde yetki verme işlemini yapın.

HTTP isteği

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

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

İstek içeriği

İstek metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "requestOptions": {
    object (RequestOptions)
  },
  "query": string,
  "pageSize": integer,
  "start": integer,
  "dataSourceRestrictions": [
    {
      object (DataSourceRestriction)
    }
  ],
  "facetOptions": [
    {
      object (FacetOptions)
    }
  ],
  "sortOptions": {
    object (SortOptions)
  },
  "queryInterpretationOptions": {
    object (QueryInterpretationOptions)
  },
  "contextAttributes": [
    {
      object (ContextAttribute)
    }
  ]
}
Alanlar
requestOptions

object (RequestOptions)

Arama uygulaması ve kullanıcı saat dilimi gibi istek seçenekleri.

query

string

Ham sorgu dizesi. Operatörlerden yararlanarak aramanızı daraltma başlıklı makalede desteklenen arama operatörlerini görebilirsiniz.

pageSize

integer

Bir sayfada döndürülecek maksimum arama sonucu sayısı. Geçerli değerler 1 ile 100 arasındadır (1 ve 100 dahil). Varsayılan değer 10'dur. 2000'den fazla sonuç istendiğinde minimum değer 50'dir.

start

integer

Sonuçların başlangıç dizini.

dataSourceRestrictions[]

object (DataSourceRestriction)

Sorgu için kullanılacak kaynaklar. Belirtilmemişse geçerli arama uygulamasındaki tüm veri kaynakları kullanılır.

facetOptions[]

object (FacetOptions)

sortOptions

object (SortOptions)

Arama sonuçlarını sıralama seçenekleri

queryInterpretationOptions

object (QueryInterpretationOptions)

seçenekleri vardır.

contextAttributes[]

object (ContextAttribute)

Arama sonuçlarının sıralamasını ayarlamak için kullanılacak istek bağlamı özellikleri. Maksimum öğe sayısı 10'dur.

Yanıt gövdesi

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

Search API yanıtı.

JSON gösterimi
{
  "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.
}
Alanlar
queryInterpretation

object (QueryInterpretation)

Kullanıcı sorgusu için sorgu yorumlama sonucu. Sorgu yorumlama devre dışıysa boştur.

results[]

object (SearchResult)

Bir arama sorgusunun sonuçları.

structuredResults[]

object (StructuredResult)

Kullanıcı sorgusu için yapılandırılmış sonuçlar. Bu sonuçlar pageSize'e dahil edilmez.

spellResults[]

object (SpellResult)

Sorgu için önerilen yazım.

facetResults[]

object (FacetResult)

Tekrarlanan yön sonuçları.

hasMoreResults

boolean

Sorguyla eşleşen başka arama sonucu olup olmadığı.

debugInfo

object (ResponseDebugInfo)

Yanıtla ilgili hata ayıklama bilgileri.

errorInfo

object (ErrorInfo)

Yanıtla ilgili hata bilgileri.

resultCounts

object (ResultCounts)

Genişletilmiş sonuç sayısı bilgileri.

Birlik alanı result_count. İstenen tüm veri kaynaklarındaki toplam sonuç sayısı. Sorgulanan veri kaynakları grubuna önceden tanımlanmış kaynaklar dahil edilirse atlanır. Sonuç sayıları aşağıdaki durumlarda tam sayı yerine tahmin olarak döndürülebilir:

  • Sorgu, bir kelime öbeğinde 2'den fazla terim içeriyorsa (ör. tırnak içinde "sonuç sayısı tam").

  • Değerlendirilecek benzersiz arama sonucu ACL'si sayısı, makul bir gecikme içinde hesaplanmayacak kadar büyük olduğunda.

Sistemin tüm dokümanları arayamamasının nadir bir durumda olması halinde sorguyu yeniden çalıştırın. result_count yalnızca aşağıdakilerden biri olabilir:

resultCountEstimate

string (int64 format)

Bu sorgu için tahmini sonuç sayısı.

resultCountExact

string (int64 format)

Bu sorgunun tam sonuç sayısı.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamlarından birini gerektirir:

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

Daha fazla bilgi için Yetkilendirme kılavuzuna bakın.

QueryInterpretationOptions

seçenekleri vardır.

JSON gösterimi
{
  "disableNlInterpretation": boolean,
  "enableVerbatimMode": boolean,
  "disableSupplementalResults": boolean
}
Alanlar
disableNlInterpretation

boolean

Sorguların doğal dil (NL) yorumunu devre dışı bırakma işareti. Varsayılan değer false (yanlış) değerinidir. Doğal dil yorumlamayı devre dışı bırakmak için true (doğru) olarak ayarlayın. NL yorumu yalnızca önceden tanımlanmış veri kaynakları için geçerlidir.

enableVerbatimMode

boolean

Sorguların doğal dil (NL) yorumu, ek sonuç getirme ve özel olanlar da dahil olmak üzere eş anlamlı kelimelerin kullanımı gibi tüm dahili optimizasyonları devre dışı bırakmak için bu işareti etkinleştirin. İki işaretten biri doğruysa Nl yorumlaması devre dışı bırakılır.

disableSupplementalResults

boolean

Bir sorgu için ek sonuçları devre dışı bırakmak üzere bu işareti kullanın. SearchApplication düzeyinde seçilen ek sonuçlar ayarı, True olarak ayarlanırsa öncelikli olur.

QueryInterpretation

JSON gösterimi
{
  "interpretedQuery": string,
  "interpretationType": enum (QueryInterpretation.InterpretationType),
  "reason": enum (QueryInterpretation.Reason)
}
Alanlar
interpretedQuery

string

Aramada kullanılan sorgunun yorumu. Örneğin, "mehmet'in e-postası" gibi doğal dil amaçlı sorgular "from:mehmet source:mail" olarak yorumlanır. Neden NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY olduğunda bu alan doldurulmaz.

interpretationType

enum (QueryInterpretation.InterpretationType)

reason

enum (QueryInterpretation.Reason)

Sorgunun yorumlanma nedeni. Yorumlama türü NONE değilse bu alan UNSPECIFIED olmaz.

QueryInterpretation.InterpretationType

Sıralamalar
NONE Arama sonuçlarını almak için doğal dil yorumu veya sorgunun daha geniş bir sürümü kullanılmaz.
BLEND Orijinal sorgudan elde edilen sonuçlar diğer sonuçlarla harmanlanır. Bu diğer sonuçların orijinal sorgudaki sonuçlarla birleştirilmesinin nedeni, aşağıdaki "Nedeni" alanına doldurulur.
REPLACE Orijinal sorgunun sonuçları değiştirilir. Orijinal sorgudan alınan sonuçların değiştirilme nedeni, aşağıdaki "Nedeni" alanına doldurulur.

QueryInterpretation.Reason

Sıralamalar
UNSPECIFIED
QUERY_HAS_NATURAL_LANGUAGE_INTENT Arama sonuçlarını almak için sorgunun doğal dil yorumu kullanılır.
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY Sorgu ve doküman terimleri benzerliği, kullanıcı sorgusu için yeterli sonuç bulunamadığından sorguyu seçici bir şekilde genişleterek ek arama sonuçları almak için kullanılır. Yorumlanmış sorgu bu durumda boş olur.

SearchResult

Bir dokümanla ilgili dizine eklenen bilgileri içeren sonuçlar.

JSON gösterimi
{
  "title": string,
  "url": string,
  "snippet": {
    object (Snippet)
  },
  "metadata": {
    object (Metadata)
  },
  "clusteredResults": [
    {
      object (SearchResult)
    }
  ],
  "debugInfo": {
    object (ResultDebugInfo)
  }
}
Alanlar
title

string

Arama sonucunun başlığı.

url

string

Arama sonucunun URL'si. URL, gerçek öğeye yönlendiren bir Google yönlendirmesi içeriyor. Bu URL imzalıdır ve değiştirilmemelidir.

snippet

object (Snippet)

Bu sonuç için kullanılabilen tüm snippet'lerin (özetlerin) birleştirilmesi.

metadata

object (Metadata)

arama sonucunun meta verileri.

clusteredResults[]

object (SearchResult)

Kaynak kümelenmişse kümelenmiş sonuçların listesini sağlayın. Yalnızca bir düzeyde kümelenmiş sonuçlar olur. Mevcut kaynak gruplandırma için etkinleştirilmemişse bu alan boş olur.

debugInfo

object (ResultDebugInfo)

Bu arama sonucuyla ilgili hata ayıklama bilgileri.

Snippet

Arama sonucunun, sonuçlanan sayfanın içeriğini özetleyen snippet'i.

JSON gösterimi
{
  "snippet": string,
  "matchRanges": [
    {
      object (MatchRange)
    }
  ]
}
Alanlar
snippet

string

Belgenin snippet'i. Belgenin snippet'i. Oluşturmadan önce kod dışı bırakılması gereken kod dışı bırakılmış HTML karakterleri içerebilir.

matchRanges[]

object (MatchRange)

Snippet'te eşleşen aralıklar.

MatchRange

Bir snippet'in eşleşen aralığı [start, end].

JSON gösterimi
{
  "start": integer,
  "end": integer
}
Alanlar
start

integer

Eşleşmenin snippet'teki başlangıç konumu.

end

integer

Snippet'te maçın sonu.

Meta veri

eşleşen bir arama sonucunun meta verileri.

JSON gösterimi
{
  "source": {
    object (Source)
  },
  "mimeType": string,
  "thumbnailUrl": string,
  "owner": {
    object (Person)
  },
  "createTime": string,
  "updateTime": string,
  "fields": [
    {
      object (NamedProperty)
    }
  ],
  "displayOptions": {
    object (ResultDisplayMetadata)
  },
  "objectType": string
}
Alanlar
source

object (Source)

Gmail gibi sonucun adlandırılmış kaynağı.

mimeType

string

Arama sonucunun MIME türü.

thumbnailUrl

string

Sonucun küçük resim URL'si.

owner

object (Person)

arama sonucunun sahibi (genellikle dosyayı veya nesneyi oluşturan kişi)

createTime

string (Timestamp format)

Arama sonucundaki bu dokümanın veya nesnenin oluşturulma zamanı.

Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Arama sonucundaki nesnenin son değiştirilme tarihi. Öğede ayarlanmamışsa burada döndürülen değer boş olur. Güncelliği hesaplamak için updateTime kullanılırsa ve ayarlanmazsa bu değer varsayılan olarak geçerli zamandan 2 yıl sonra olarak belirlenir.

Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z".

fields[]

object (NamedProperty)

Yapılandırılmış verilerdeki dizine eklenen alanlar, genel bir adlandırılmış mülk olarak döndürülür.

displayOptions

object (ResultDisplayMetadata)

seçenekleri, yapılandırılmış veri arama sonucunun nasıl gösterileceğini belirtir.

objectType

string

Arama sonucunun nesne türü.

ResultDisplayMetadata

JSON gösterimi
{
  "objectTypeLabel": string,
  "metalines": [
    {
      object (ResultDisplayMetadata.ResultDisplayLine)
    }
  ]
}
Alanlar
objectTypeLabel

string

Nesnenin görüntüleme etiketi.

metalines[]

object (ResultDisplayMetadata.ResultDisplayLine)

Sonuçla birlikte gösterilecek meta satır içeriği.

ResultDisplayMetadata.ResultDisplayLine

Gösterilen bir satırı oluşturan alan koleksiyonu

JSON gösterimi
{
  "fields": [
    {
      object (ResultDisplayMetadata.ResultDisplayField)
    }
  ]
}
Alanlar
fields[]

object (ResultDisplayMetadata.ResultDisplayField)

ResultDisplayMetadata.ResultDisplayField

query.search sonuçları için görüntüleme alanları

JSON gösterimi
{
  "label": string,
  "operatorName": string,
  "property": {
    object (NamedProperty)
  }
}
Alanlar
label

string

Tesisin görünen etiketi.

operatorName

string

Tesisin işletmeci adı.

property

object (NamedProperty)

Mülkün ad değeri çifti.

ResultDebugInfo

Sonuçla ilgili hata ayıklama bilgileri.

JSON gösterimi
{
  "formattedDebugInfo": string
}
Alanlar
formattedDebugInfo

string

Gösterilmek üzere biçimlendirilmiş genel hata ayıklama bilgileri.

StructuredResult

Arama isteği kapsamında döndürülen yapılandırılmış sonuçlar.

JSON gösterimi
{
  "person": {
    object (Person)
  }
}
Alanlar
person

object (Person)

Bir kişinin temsili

SpellResult

JSON gösterimi
{
  "suggestedQuery": string
}
Alanlar
suggestedQuery

string

Sorgunun önerilen yazımı.

FacetResult

Kaynağa özgü yön yanıtı

JSON gösterimi
{
  "sourceName": string,
  "objectType": string,
  "operatorName": string,
  "buckets": [
    {
      object (FacetBucket)
    }
  ]
}
Alanlar
sourceName

string

Yön bölümünün sonuçlarının döndürüldüğü kaynak adı. Boş olmaz.

objectType

string

Yön bölümünün sonuçlarının döndürüldüğü nesne türü. Boş bırakılabilir.

operatorName

string

Kelime öbeğine ayırma için seçilen operatörün adı. @see cloudsearch.SchemaPropertyOptions

buckets[]

object (FacetBucket)

Yanıttaki değerler için, ilgili filtreyle en az bir sonuç içeren FacetBuckets.

FacetBucket

Bir kesite ait grup, temel işlem birimidir. Gruplandırılan alanın türüne bağlı olarak grup, tek bir değer VEYA bitişik bir değer aralığı içerebilir. FacetBucket şu anda yalnızca yanıt nesnesini döndürmek için kullanılır.

JSON gösterimi
{
  "count": integer,
  "percentage": integer,
  "filter": {
    object (Filter)
  },
  "value": {
    object (Value)
  }
}
Alanlar
count

integer

Grup değeriyle eşleşen sonuç sayısı. Sayılar yalnızca sayı doğruluğu sağlandığında aramalar için döndürülür. Cloud Search, herhangi bir sorgu için yön sayısı garanti etmez ve yön sayıları, aynı sorgular için bile yalnızca ara sıra gösterilebilir. Yüz sayısı varlığına bağlı bağımlılıklar oluşturmayın. Bunun yerine her zaman döndürülen yüz sayısı yüzdelerini kullanın.

percentage

integer

Paket değeriyle eşleşen sonuçların yüzdesi. Döndürülen değer [0-100] aralığındadır ve kesirli ise tam sayıya yuvarlanır. Değer açıkça döndürülmezse 0'a yuvarlanan bir yüzde değerini temsil eder. Yüzdeler tüm aramalar için döndürülür ancak tahminidir. Yüzdeler her zaman döndürüldüğünden, sayı yerine yüzdeleri oluşturmanız gerekir.

filter

object (Filter)

İlgili paket seçilirse arama isteğine iletilecek filtre.

value

object (Value)

ResponseDebugInfo

Yanıtla ilgili hata ayıklama bilgileri.

JSON gösterimi
{
  "formattedDebugInfo": string
}
Alanlar
formattedDebugInfo

string

Gösterilmek üzere biçimlendirilmiş genel hata ayıklama bilgileri.

ErrorInfo

Yanıtla ilgili hata bilgileri.

JSON gösterimi
{
  "errorMessages": [
    {
      object (ErrorMessage)
    }
  ]
}
Alanlar
errorMessages[]

object (ErrorMessage)

ErrorMessage

Kaynak yanıtı başına hata mesajı.

JSON gösterimi
{
  "source": {
    object (Source)
  },
  "errorMessage": string
}
Alanlar
source

object (Source)

errorMessage

string

ResultCounts

Sonuç sayısı bilgileri

JSON gösterimi
{
  "sourceResultCounts": [
    {
      object (SourceResultCount)
    }
  ]
}
Alanlar
sourceResultCounts[]

object (SourceResultCount)

Sonuç içeren her kaynak için sonuç sayısı bilgileri.

SourceResultCount

Kaynak başına sonuç sayısı bilgileri.

JSON gösterimi
{
  "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.
}
Alanlar
source

object (Source)

Sonuç sayısı bilgilerinin ilişkili olduğu kaynak.

hasMoreResults

boolean

Bu kaynak için daha fazla arama sonucu olup olmadığı.

Birlik alanı result_count.

result_count yalnızca aşağıdakilerden biri olabilir:

resultCountEstimate

string (int64 format)

Bu kaynak için tahmini sonuç sayısı.

resultCountExact

string (int64 format)

Bu kaynak için tam sonuç sayısı.