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 veya bir üçüncü taraftan dizine eklediğiniz verilerden gelebilir.

Not: Bu API'nin yürütülmesi için standart bir son kullanıcı hesabı gerekir. Bir hizmet hesabı, Query API isteklerini doğrudan gerçekleştiremez. Sorgu gerçekleştirmek amacıyla bir hizmet hesabı kullanmak için Google Workspace alanı genelinde yetki verme ayarlarını 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 gövdesi, aşağıdaki yapıyla birlikte veriler 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. Desteklenen arama operatörlerini görmek için Aramanızı operatörlerle daraltma başlıklı makaleyi inceleyin.

pageSize

integer

Tek bir sayfada döndürülecek maksimum arama sonucu sayısı. Geçerli değerler 1 ile 100 arasındaki değerlerdir (1 ve 100 dahil). Varsayılan değer 10'dur. 2.000'in üzerindeki sonuçlar istendiğinde minimum değer 50'dir.

start

integer

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

dataSourceRestrictions[]

object (DataSourceRestriction)

Sorgulama için kullanılacak kaynaklar. Belirtilmezse 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, isteğin 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ş bırakılır.

results[]

object (SearchResult)

Arama sorgusundan elde edilen sonuçlar.

structuredResults[]

object (StructuredResult)

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

spellResults[]

object (SpellResult)

Sorgu için önerilen yazım.

facetResults[]

object (FacetResult)

Tekrarlanan özellik sonuçları.

hasMoreResults

boolean

Sorguyla eşleşen daha fazla 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ı bilgisi.

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

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

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

Nadiren de olsa sistem tüm dokümanlarda arama yapamadığında sorguyu yeniden çalıştırın. result_count şunlardan yalnızca biri olabilir:

resultCountEstimate

string (int64 format)

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

resultCountExact

string (int64 format)

Bu sorgu için 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 göz atın.

QueryInterpretationOptions

seçenekleri vardır.

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

boolean

Sorguların doğal dil (NL) yorumlanmasını devre dışı bırakmak için işaretleyin. Varsayılan değer false (yanlış) şeklindedir. Doğal dil yorumlamasını devre dışı bırakmak için true olarak ayarlayın. NL çevirisi yalnızca önceden tanımlanmış veri kaynakları için geçerlidir.

enableVerbatimMode

boolean

Sorguların doğal dil (NL) yorumlanması, ek sonuç alma ve özel olanlar da dahil eş anlamlıların kullanımı gibi tüm dahili optimizasyonları kapatmak 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. Doğru değerine ayarlanırsa SearchApplication düzeyinde seçilen ek sonuçlar ayarı öncelikli olur.

QueryInterpretation

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

string

Aramada kullanılan sorgunun yorumlanması. Örneğin, "can'dan e-posta" gibi doğal bir dil amacı taşıyan sorgular, "from:john source:mail" olarak yorumlanır. Nedeni NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY ise bu alan doldurulmayacaktır.

interpretationType

enum (QueryInterpretation.InterpretationType)

reason

enum (QueryInterpretation.Reason)

Sorgunun yorumlanma nedeni. Yorum türü YOK ise, bu alan UNSPECIFIED olmaz.

QueryInterpretation.InterpretationType

Sıralamalar
NONE Arama sonuçlarını getirmek için ne doğal dil yorumu ne de sorgunun daha kapsamlı bir sürümü kullanılır.
BLEND Orijinal sorgunun sonuçları diğer sonuçlarla karıştırılır. Bu diğer sonuçların orijinal sorgudaki sonuçlarla karıştırılma nedeni, aşağıdaki "Neden" alanına doldurulur.
REPLACE Orijinal sorgunun sonuçları değiştirilir. Orijinal sorgudan alınan sonuçları değiştirme nedeni, aşağıdaki "Neden" alanına doldurulur.

QueryInterpretation.Reason

Sıralamalar
UNSPECIFIED
QUERY_HAS_NATURAL_LANGUAGE_INTENT Arama sonuçlarını getirmek için sorgunun doğal dil yorumlanması kullanılır.
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY Kullanıcı sorgusu için yeterli sonuç bulunamadığından, ek arama sonuçları almak üzere sorguyu seçerek genişletmek için sorgu ve doküman terimleri benzerliği kullanılır. Bu durumda yorumlanan sorgu boş olur.

SearchResult

Bir doküman için 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çerir. Bu URL imzalıdır ve değiştirilmemelidir.

snippet

object (Snippet)

Bu sonuç için mevcut olan tüm snippet'lerin (özetler) birleştirilmesi.

metadata

object (Metadata)

meta verilerini kullanın.

clusteredResults[]

object (SearchResult)

Kaynak kümelenmişse kümelenmiş sonuçların listesini sağlayın. Yalnızca tek bir düzeyde kümelenmiş sonuçlar olacaktır. Geçerli kaynak kümeleme için etkinleştirilmemişse bu alan boş kalır.

debugInfo

object (ResultDebugInfo)

Bu arama sonucuyla ilgili hata ayıklama bilgileri.

Snippet

Arama sonucunun içeriğini özetleyen, arama sonucu snippet'i.

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

string

Belgenin snippet'i. Belgenin snippet'i. Oluşturmadan önce atlatılması gereken çıkış karakterli HTML karakteri içerebilir.

matchRanges[]

object (MatchRange)

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

MatchRange

Snippet'in eşleşen aralığı [başlangıç, bitiş).

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

integer

Snippet'teki eşleşmenin başlangıç konumu.

end

integer

Snippet'teki eşleşmenin sonu.

Meta veri

eşleşen 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)

Sonucun adlandırılmış kaynak (ör. Gmail).

mimeType

string

Arama sonucunun MIME türü.

thumbnailUrl

string

Sonucun küçük resim URL'si.

owner

object (Person)

sahibidir (genelde oluşturan kişi).

createTime

string (Timestamp format)

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

Nanosaniye çözünürlüğe ve en fazla dokuz kesir basamağına sahip, 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 tarihidir. Öğede ayarlanmazsa burada döndürülen değer boş olur. Yenilik hesaplaması için updateTime kullanıldığında ve ayarlanmadığında bu değer, varsayılan olarak şu anki tarihten 2 yıl sonraya ayarlanır.

Nanosaniye çözünürlüğe ve en fazla dokuz kesir basamağına sahip, 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 eklenmiş alanlar, genel adlandırılmış özellik olarak döndürülür.

displayOptions

object (ResultDisplayMetadata)

seçenekler.

objectType

string

Arama sonucunun nesne türü.

ResultDisplayMetadata

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

string

Nesnenin görüntü etiketi.

metalines[]

object (ResultDisplayMetadata.ResultDisplayLine)

Sonuçla birlikte gösterilecek metaline içeriği.

ResultDisplayMetadata.ResultDisplayLine

Gösterilen 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 Alanları Göster

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

string

Mülkün görüntü etiketi.

operatorName

string

Mülkün operatör adı.

property

object (NamedProperty)

Tesisin ad değer çifti.

ResultDebugInfo

Sonuçla ilgili hata ayıklama bilgileri.

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

string

Ekran için biçimlendirilmiş genel hata ayıklama bilgileri.

StructuredResult

Arama isteğinin bir parçası olarak 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ü özellik yanıtı

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

string

Özellik sonuçlarının döndürüldüğü kaynak adı. Boş olmayacak.

objectType

string

Özellik sonuçlarının döndürüldüğü nesne türü. Boş olabilir.

operatorName

string

Özellik için seçilen operatörün adı. @cloudsearch'e bakın.Schema PropertyOptions

buckets[]

object (FacetBucket)

İlgili filtreye sahip en az tek bir sonuç içeren yanıttaki değerlere ilişkin FacetBuckets.

FacetBucket

Özellikteki bir paket, temel çalışma birimidir. Bir paket, gruplanan alanın türüne bağlı olarak tek bir değer VEYA bitişik bir değer aralığından oluşabilir. FacetBucket şu anda yalnızca yanıt nesnesini döndürmek için kullanılmaktadır.

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

integer

Paket değeriyle eşleşen sonuçların sayısı. Sayılar, yalnızca sayının doğruluğu sağlandığında aramalar için döndürülür. Cloud Search, herhangi bir sorgudaki özellik sayılarının sadece ara sıra (aynı sorgularda bile) bulunabileceğini garanti etmez. Özellik sayısının varlığına bağımlılık oluşturmayın. Bunun yerine, her zaman döndürülen özellik yüzdeleri kullanın.

percentage

integer

Grup değeriyle eşleşen sonuçların yüzdesi. Döndürülen değer (0-100] arasındadır. Kesirliyse 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ılar yerine yüzdeler oluşturmanız gerekir.

filter

object (Filter)

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

value

object (Value)

ResponseDebugInfo

Yanıtla ilgili hata ayıklama bilgileri.

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

string

Ekran için 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ı sayısı.

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 bir kaynak için sonuç sayısı bilgisi.

SourceResultCount

Kaynak sonuç başına sayı bilgisi.

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ı bilgisinin ilişkilendirildiği kaynak.

hasMoreResults

boolean

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

result_count alanı.

result_count şunlardan yalnızca biri olabilir:

resultCountEstimate

string (int64 format)

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

resultCountExact

string (int64 format)

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