Class Cursor
menyediakan kursor di hasil penelusuran yang ditetapkan saat ini, sehingga Anda dapat mengambil kumpulan berikutnya berdasarkan kriteria yang ditentukan. Menggunakan cursor dapat meningkatkan performa dan konsistensi penomoran halaman saat indeks diupdate.
Berikut ini cara menggunakan kursor untuk mendapatkan halaman hasil berikutnya:
# Get the first set of results, and return a cursor with that result set. # The first cursor tells the API to return cursors in the SearchResults object. results = index.search(search.Query(query_string='some stuff', options=search.QueryOptions(cursor=search.Cursor())) # Get the next set of results with a cursor. results = index.search(search.Query(query_string='some stuff', options=search.QueryOptions(cursor=results.cursor)))
Jika Anda ingin melanjutkan penelusuran dari salah satu ScoredDocuments
di SearchResults
, tetapkan Cursor.per_result
ke True
:
# get the first set of results, the first cursor is used to specify # that cursors are to be returned in the SearchResults. results = index.search(search.Query(query_string='some stuff', options=search.QueryOptions(cursor=Cursor(per_result=True))) # this shows how to access the per_document cursors returned from a search per_document_cursor = None for scored_document in results: per_document_cursor = scored_document.cursor # get the next set of results results = index.search(search.Query(query_string='some stuff', options=search.QueryOptions(cursor=per_document_cursor)))
Kursor bisa di-cache sebagai string keamanan web yang dapat digunakan untuk merekonstruksi Cursor. Misalnya,
next_cursor = results.cursor next_cursor_url_safe = next_cursor.web_safe_string // save next_cursor_url_safe ... // extract next_cursor_url_safe results = index.search( search.Query(query_string, cursor=search.Cursor(web_safe_string=next_cursor_url_safe)))
Konstruktor
Konstruktor untuk class Cursor
ditentukan sebagai berikut:
-
class Cursor(web_safe_string=None, per_result=False)
Buat instance class
Cursor
.Argumen
- per_result
Jika benar, akan menampilkan kursor per ScoredDocument di SearchResults. Jika salah, akan menampilkan satu kursor untuk semua SearchResults. Diabaikan jika menggunakan
QueryOptions.offset
, karena pengguna bertanggung jawab untuk menghitung offset berikutnya (jika ada).- web_safe_string
String kursor yang ditampilkan dari layanan penelusuran untuk ditafsirkan oleh layanan penelusuran guna mendapatkan kumpulan hasil berikutnya.
Nilai hasil
Instance baru dari class
Cursor
.
Pengecualian
- ValueError
Jika
web_safe_string
yang disediakan oleh API bukan format yang diperlukan.
Properti
Instance class Cursor
memiliki properti berikut:
- per_result
Menampilkan apakah akan menampilkan kursor untuk setiap ScoredDocument dalam hasil.
- web_safe_string
Menampilkan string kursor yang dihasilkan oleh layanan penelusuran.