Class Cursor

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.