Class Query
mewakili permintaan di layanan penelusuran untuk mengkueri indeks.
Query
ditentukan dalam modul google.appengine.api.search
.
Pengantar
Class Query
memungkinkan Anda menentukan string kueri dan opsi lainnya, seperti tata urutan, batas, dan kursor, untuk penelusuran pada indeks. Anda menetapkan opsi ini dengan membuat instance class QueryOptions
ke parameter Query.options
.
Misalnya, fragmen kode berikut meminta penelusuran untuk dokumen dengan first
muncul dalam subjek dan good
muncul di mana saja, menampilkan maksimal 20 dokumen, menampilkan satu kursor dokumen untuk hasil, dan mengurutkan berdasarkan subjek dalam urutan menurun, yang menampilkan
kolom penulis, subjek, dan ringkasan, serta konten kolom yang diambil.
from google.appengine.api import search ... results = index.search(search.Query( # Specify the query string using the Search API's Query language. query_string='subject:first good', options=search.QueryOptions( limit=20, cursor=search.Cursor(), sort_options=search.SortOptions( expressions=[ search.SortExpression(expression='subject', default_value='')], limit=1000), returned_fields=['author', 'subject', 'summary'], snippeted_fields=['content']))) ...
Anda memiliki opsi untuk mengembalikan kursor pada setiap kumpulan hasil penelusuran. Kursor ini memungkinkan Anda
membuka halaman hasil penelusuran dengan lebih mudah. Untuk mendapatkan Kursor, tentukan dalam
QueryOptions.cursor
dan ekstrak kursor untuk
permintaan berikutnya dari SearchResults.cursor
.
Dengan demikian Anda dapat melanjutkan penelusuran dari dokumen yang terakhir ditemukan, seperti ditunjukkan di bawah ini:
... results = index.search( search.Query(query_string='subject:first good', options=search.QueryOptions(cursor=results.cursor)))
Konstruktor
Konstruktor untuk class Query
ditentukan sebagai berikut:
-
class Query(query_string, options=None, enable_facet_discovery=False, return_facets=None, facet_options=None, facet_refinements=None)
Meminta layanan penelusuran untuk mengkueri indeks, dengan menentukan parameter untuk kueri tersebut.
Argumen
- query_string
Kueri yang akan dicocokkan dengan dokumen dalam indeks. Kueri adalah ekspresi boolean yang berisi istilah. Misalnya, kueri
job tag:"very important" sent < 2011-02-28
menemukan dokumen dengan istilahjob
di kolom mana pun, dan juga berisi frasavery important
di kolomtag
, dan tanggalsent
sebelum 28 Februari, 2011.- options
Pembuatan instance class
QueryOptions
dengan petunjuk untuk hasil penelusuran pascapemrosesan.- enable_facet_discovery
Memungkinkan penemuan faset paling relevan yang digunakan oleh dokumen yang memenuhi kueri penelusuran ini, lalu menampilkannya.
- return_facets
Iterable dari FacetRequest atau basestring sebagai nama facet untuk menampilkan faset tertentu dengan hasilnya.
- facet_options
FacetOption yang menjelaskan pemrosesan faset.
- facet_refinements
Iterable objek FacetRefinement atau string token penajaman yang digunakan untuk memfilter hasil penelusuran berdasarkan nilai faset. Penajaman untuk facet yang berbeda akan dilakukan konjungsi, dan penajaman untuk faset yang sama akan menghasilkan disjungsi.
Nilai hasil
Instance baru dari class
Query
.
Pengecualian
- TypeError
Dimunculkan saat
query_string
bukan string atauoptions
bukan objekQueryOptions
.- ValueError
Muncul saat
query_string
tidak dapat diuraikan.
Properti
Instance class
Query
memiliki properti berikut:- query_string
Menampilkan string kueri yang akan ditelusuri dalam permintaan ini.
- options
Menampilkan
QueryOptions
yang menentukan pascapemrosesan hasil penelusuran.