Cursor クラス

Cursor クラスは、検索結果の現在のセットにカーソルを提供します。これにより、指定した条件に基づいて次の結果セットを取得できます。カーソルを使用すると、インデックスの更新時にページ設定のパフォーマンスと一貫性が改善されます。

カーソルを使用して次の結果ページを取得する方法は次のとおりです。

# 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)))

SearchResults のいずれか 1 つの ScoredDocuments から検索を続ける場合は、Cursor.per_resultTrue に設定します。

# 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)))

カーソルは、Cursor の再構築に利用できるウェブセーフな文字列としてキャッシュに保存できます。例を次に示します。

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)))

コンストラクタ

Cursor クラスのコンストラクタは、次のように定義されます。

class Cursor(web_safe_string=None, per_result=False)

クラス Cursor のインスタンスを作成します。

引数

per_result

true の場合、SearchResults の ScoredDocument ごとにカーソルを返します。false の場合、すべての SearchResults に対して 1 つのカーソルを返します。QueryOptions.offset を使用する場合には、ユーザーが次のオフセット(該当する場合)を計算するため、無視されます。

web_safe_string

検索サービスから返されるカーソル文字列。検索サービスにより、次の結果セットを取得するものと解釈されます。

結果値

Cursor クラスの新しいインスタンス。

例外

ValueError

API によって提供される web_safe_string の形式が必須でない場合。

プロパティ

Cursor クラスのインスタンスには次のプロパティがあります。

per_result

結果の ScoredDocument ごとにカーソルを返すかどうかを返します。

web_safe_string

検索サービスにより生成されるカーソル文字列を返します。