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 üçüncü taraflardan 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ı, doğrudan Query API isteklerini 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ıya sahip 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ının saat dilimi gibi istek seçenekleri.

query

string

Ham sorgu dizesi. Aramanızı operatörlerle 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ında (1 ve 100 dahil) arasındadır. Varsayılan değer 10'dur. 2.000'den sonraki 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 mevcut 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)

kullanıcı sorgusunu yorumlama seçenekleri.

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ştur.

results[]

object (SearchResult)

Arama sorgusu sonuçları.

structuredResults[]

object (StructuredResult)

Kullanıcı sorgusu için yapılandırılmış sonuçlar. Bu sonuçlar pageSize'a 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)

Sonuç sayısı bilgileri genişletildi.

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

  • Sorgunun bir kelime öbeğinde 2'den fazla terim içermesi (ör. "sonuç sayısı tam") tırnak içine alın.

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

Sistemin tüm dokümanlarda arama yapamadığı nadir durumlarda 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ı.

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ılavuzunu inceleyin.

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'tur. Doğal dil yorumlamayı devre dışı bırakmak için ayarı "doğru" olarak ayarlayın. NL yorumlaması 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 olmak üzere 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 isterseniz bu işareti kullanın. SearchApplication düzeyinde seçilen ek sonuç ayarı, Doğru değerine 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 yorumlanması. Örneğin, "Can'ın e-postası" gibi doğal dil amacı taşıyan sorgular "from:can 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. Yorum türü "YOK" değilse bu alan UNSPECIFIED (BELİRTİLMEMİŞ) olarak sunulmaz.

QueryInterpretation.InterpretationType

Sıralamalar
NONE Arama sonuçlarını getirmek için ne doğal dil yorumu ne de sorgunun daha geniş bir sürümü kullanılmaz.
BLEND Orijinal sorgudan elde edilen sonuçlar, diğer sonuçlarla karıştırılır. Bu diğer sonuçların orijinal sorgu sonuçlarıyla karıştırılmasının nedeni "Neden" alanında doldurulur. aşağıdaki alanı doldurun.
REPLACE Orijinal sorgudan elde edilen sonuçlar değiştirilir. Orijinal sorgudan alınan sonuçların değiştirilme nedeni "Neden" alanında doldurulur. aşağıdaki alanı doldurun.

QueryInterpretation.Reason

Sıralamalar
UNSPECIFIED
QUERY_HAS_NATURAL_LANGUAGE_INTENT Arama sonuçlarını getirmek için sorgunun doğal dil yorumu kullanılır.
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY Kullanıcı sorgusu için yeterli sonuç bulunamadığından, ek arama sonuçlarını almak üzere sorguyu seçmeli olarak 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 eklenmiş 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 imzalanmıştır ve değiştirilmemelidir.

snippet

object (Snippet)

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

metadata

object (Metadata)

meta verileridir.

clusteredResults[]

object (SearchResult)

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

debugInfo

object (ResultDebugInfo)

Bu arama sonucuyla ilgili hata ayıklama bilgileri.

Snippet

Sonuçta çıkan sayfanın içeriğini özetleyen, arama sonucu snippet'i.

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

string

Dokümanın snippet'i. Dokümanın snippet'i. Oluşturmadan önce çıkış karaktersiz olması gereken kod dışına alınmış 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 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)

Sonuç için adlandırılmış kaynak (ör. Gmail).

mimeType

string

Arama sonucunun MIME türü.

thumbnailUrl

string

Sonucun küçük resim URL'si.

owner

object (Person)

dokümanın veya arama sonucu nesnesinin sahibi (genellikle oluşturucu).

createTime

string (Timestamp format)

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

RFC3339 UTC "Zulu" zaman damgası biçiminde olmalıdır. Ö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 ayarlanmazsa burada döndürülen değer boş olur. Güncelliği hesaplamak için updateTime kullanıldığı ve ayarlanmadığında bu değer, varsayılan olarak geçerli zamandan 2 yıl sonrasına ayarlanır.

RFC3339 UTC "Zulu" zaman damgası biçiminde olmalıdır. Ö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 bir adlandırılmış özellik olarak döndürülür.

displayOptions

object (ResultDisplayMetadata)

yapılandırılmış veri arama sonucunun nasıl görüntüleneceğini belirten 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örüntülenecek metalines içeriği.

ResultDisplayMetadata.ResultDisplayLine

Görüntülenen 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

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

operatorName

string

Tesisin 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

Görüntülenecek şekilde 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ş bırakılamaz.

objectType

string

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

operatorName

string

Özellik için seçilen operatörün adı. @cloudsearch.SchemaPropertyOptions'a bakın

buckets[]

object (FacetBucket)

İlgili filtreye sahip en az tek bir sonuç içeren yanıttaki değerler için özellik paketleri.

FacetBucket

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

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ım doğruluğu sağlandığında aramalar için döndürülür. Cloud Search, tüm sorguların özellik sayılarını garanti etmez. Özellik sayıları, aynı sorgularda bile yalnızca aralıklı olarak gösterilebilir. Façeta sayısının varlığına bağımlılık oluşturmayın, bunun yerine her zaman döndürülen özellik 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] arasında bir değerdir ve kesirliyse tam sayıya yuvarlanır. Değer açıkça döndürülmüyorsa 0'a yuvarlanan bir yüzde değerini temsil eder. Tüm aramalar için yüzde değerleri döndürülür ancak tahmini değerlerdir. Yüzdeler her zaman döndürüldüğünden sayılar yerine yüzdeleri 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

Görüntülenecek şekilde 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ı 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ığı.

Birleştirme alanı result_count.

result_count şunlardan yalnızca 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ı.