QueryOptions
クラスは、アプリケーションのニーズに応じてクエリ結果の後処理のオプションを提供します。このクラスは Query.options 引数の options
として作成します。
Query
は、google.appengine.api.search
モジュールで定義されます。
概要
QueryOptions
クラスは、特定のクエリについて結果の後処理のオプションを提供します。オプションには、結果の並べ替え、いずれのドキュメント フィールドを返すかの制御、フィールドのスニペットの生成、複雑なスコアリング式による計算と並べ替えなどがあります。
検索結果のページにランダムにアクセスしたい場合、offset を使用できます:
from google.appengine.api import search ... # get the first set of results page_size = 10 results = index.search(search.Query(query_string='some stuff', options=search.QueryOptions(limit=page_size)) # calculate pages pages = results.number_found / page_size # user chooses page and hence an offset into results next_page = ith * page_size # get the search results for that page results = index.search(search.Query(query_string='some stuff', options=search.QueryOptions(limit=page_size, offset=next_page))
たとえば、次のコードでは subject
フィールドに first
があり、任意のフィールドに good
があるドキュメントの検索を要求しています。この例の場合、最大で 20 のドキュメントが返されます。結果の次のページのカーソルを要求すると、その結果セットについて別のカーソルが返されます。結果はタイトルの降順で並べ替えられ、作成者、タイトル、概要の各フィールドの他にスニペット フィールドのコンテンツが返されます。
... results = index.search(search.Query( query='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'])))
コンストラクタ
QueryOptions
クラスのコンストラクタは、次のように定義されます。
-
class QueryOptions(limit=20, number_found_accuracy=None, cursor=None, offset=None, sort_options=None, returned_fields=None, ids_only=False, snippeted_fields=None, returned_expressions=None)
検索クエリ結果を定義するオプションを指定します。
-
引数
- limit
結果で返されるドキュメントの数の上限。
- number_found_accuracy
SearchResults.number_found
の正確性に関する最小要件。設定した場合、少なくともその数値までは正確性が保たれます。たとえば、100 に設定すると、number_found_accuracy
が 100 以下の場合、SearchResults
オブジェクトはすべて正確となります。- cursor
次の結果セットを取得する場所、または SearchResults で次のカーソルを提供する場所を記述するカーソル。
- offset
offset は、検索結果でスキップするドキュメントの数を表します。クエリ カーソルの代替手段として使用するものです。オフセットを使用すると、結果にランダムにアクセスできます。オフセットはカーソルよりも(インスタンス時間の面で)高くつきます。cursor と offset を両方一緒に使用することはできません。オフセットを使用した場合、
ScoredDocument.cursor
やScoredDocument.cursor
でカーソルは返されません。- sort_options
検索結果の多次元の並べ替えを指定する
SortOptions
オブジェクト。- returned_fields
検索結果で返される反復可能なフィールドの名前。
- ids_only
ドキュメント ID のみを返します。いずれのフィールドも返されません。
- snippeted_fields
検索結果の式でスニペット化して返される、反復可能なフィールドの名前。
- returned_expressions
検索結果で評価して返される、反復可能な FieldExpression。
結果値
QueryOptions
クラスの新しいインスタンス。
例外
- TypeError
不明な iterator_options または sort_options が渡されました。
- ValueError
ids_only
とreturned_fields
を併用する場合。
プロパティ
Query
クラスのインスタンスには次のプロパティがあります。
- limit
結果で返されるドキュメントの数の上限を返します。
- number_found_accuracy
SearchResults.number_found の正確性に関する最小要件を返します。
- cursor
クエリのカーソルを返します。
- offset
検索結果でスキップするドキュメントの数を返します。
- sort_options
SortOptions オブジェクトを返します。
- returned_fields
検索結果で返される反復可能なフィールドの名前を返します。
- ids_only
検索結果で
- snippeted_fields
検索結果でスニペット化して返される反復可能なフィールド名を返します。
- returned_expressions
検索結果で返される反復可能な FieldExpression を返します。