google.appengine.api.search.search モジュール

概要

アプリ デベロッパーが使用する Python Search API。

Search API とのインターフェースに使用されるメソッドを含みます。apiproxy に転送する API クラスを含みます。

内容

class google.appengine.api.search.search.AtomField(name, value=None, language=None)ソース

ベース: google.appengine.api.search.search.Field

インデックスに登録するため、単一のトークンとして扱われるコンテンツを持つフィールド。

次の例は、contributor という名前のアトム フィールドを示しています。

AtomField(name=’contributor’, value=’foo@bar.com’)

class google.appengine.api.search.search.AtomFacet(name, value=None)ソース

ベース: google.appengine.api.search.search.Facet

インデックスに登録するため、単一のトークンとして扱われるコンテンツを持つファセット。

次の例は、wine_type という名前のアトム ファセットを示します。

AtomFacet(name=’wine_type’, value=’Red’)

exception google.appengine.api.search.search.ConcurrentTransactionErrorソース

ベース: google.appengine.api.search.search.Error

同時更新のために、Search API でのコールが失敗したことを示しています。

class google.appengine.api.search.search.Cursor(web_safe_string=None, per_result=False)ソース

ベース: オブジェクト

検索で次の結果ページを取得する方法を指定します。

次の結果セットを取得する場合に、開始点として使用するため、前の検索結果セットで返されたカーソル。これにより、パフォーマンスが高まり、インデックス更新を介したページ設定の一貫性も向上します。

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

# 最初の結果セットを取得します。最初のカーソルは # カーソルが SearchResults で返されることを指定します。results = index.search(Query(query_string=’some stuff’,

QueryOptions(cursor=Cursor()))

# 次の結果セットを取得します。results = index.search(Query(query_string=’some stuff’,

QueryOptions(cursor=results.cursor)))

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

# 最初の結果セットを取得します。最初のカーソルは # カーソルが SearchResults で返されることを指定します。results = index.search(Query(query_string=’some stuff’,

QueryOptions(cursor=Cursor(per_result=True)))

# これは検索から返された per_document カーソルにアクセスする方法を示します。per_document_cursor = None for scored_document in results:

per_document_cursor = scored_document.cursor

# 次の結果セットを取得します。results = index.search(Query(query_string=’some stuff’,

QueryOptions(cursor=per_document_cursor)))

per_result

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

web_safe_string

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

class google.appengine.api.search.search.DateField(name, value=None)ソース

ベース: google.appengine.api.search.search.Field

日付または日付時刻の値を持つフィールド。

Python の日付または日付時刻の「naive」値のみを使用できます(「aware」値ではありません)。

次の例は creation_date という名前の日付フィールドを示します。

DateField(name=’creation_date’, value=datetime.date(2011, 03, 11))

exception google.appengine.api.search.search.DeleteError(message, results)ソース

ベース: google.appengine.api.search.search.Error

要求されたオブジェクトの 1 つを削除したエラーが発生したことを示します。

results

削除されたドキュメントに対応する DeleteResult リストを返します。

class google.appengine.api.search.search.DeleteResult(code, message=None, id=None)ソース

ベース: google.appengine.api.search.search.OperationResult

単一のドキュメントを削除した結果。

class google.appengine.api.search.search.Document(doc_id=None, fields=None, language='en', rank=None, facets=None)ソース

ベース: オブジェクト

ユーザー作成ドキュメントを表します。

次の例は、プレーン テキストと HTML テキストのフィールドのセットで構成されるドキュメントを作成する方法を示しています。

Document(doc_id=’document_id’,
fields=[TextField(name=’subject’, value=’going for dinner’),
HtmlField(name=’body’,

value=’<html>I found a place.</html>’),

TextField(name=’signature’, value=’brzydka pogoda’,

language=’pl’)],

facets=[AtomFacet(name=’tag’, value=’food’),

NumberFacet(name=’priority’, value=5.0)],

language=’en’)

doc_id

ドキュメント ID を返します。

facet(facet_name)ソース

指定された名前を持つファセットのリストを返します。

パラメータ

facet_name - 返すファセットの名前。

戻り値

指定された名前を持つファセットのリスト。

facets

ドキュメントのファセットのリストを返します。

field(field_name)ソース

指定されたフィールド名を持つフィールドを返します。

パラメータ

field_name - 返すフィールドの名前。

戻り値

指定された名前を持つフィールド。

発生

ValueError - 指定した名前を持つフィールドは必ずしも 1 つではありません。

fields

ドキュメントのフィールドのリストを返します。

language

ドキュメント フィールドが書かれている言語のコードを返します。

rank

このドキュメントのランクを返します。

exception google.appengine.api.search.search.Errorソース

ベース: exceptions.Exception

Search API のコールが失敗したことを示します。

exception google.appengine.api.search.search.ExpressionErrorソース

ベース: google.appengine.api.search.search.Error

式入力文字列の解析中にエラーが発生しました。

class google.appengine.api.search.search.Facet(name, value)ソース

ベース: オブジェクト

ドキュメントのファセットを表す抽象基本クラス。

このクラスは直接インスタンス化できません。

name

ファセットの名前を返します。

value

ファセットの値を返します。

class google.appengine.api.search.search.FacetOptions(*args, **kwds)ソース

ベース: オブジェクト

クエリのファセット reults を処理するためのオプション。

depth

ファセット検出のために分析するドキュメントの数を返します。

discovery_limit

検出するファセットの数を返します。

discovery_value_limit

各ファセットに対し検出する値の数を返します。

class google.appengine.api.search.search.FacetRange(*args, **kwds)ソース

ベース: オブジェクト

開始値と終了値を持つファセット範囲。

高い評価の FacetRange の例: FacetRange(start=3.0, end=3.5)

end

終了を含まない範囲を返します。

start

開始を含む範囲を返します。

class google.appengine.api.search.search.FacetRefinement(*args, **kwds)ソース

ベース: オブジェクト

ファセット値に基づいて検索結果を除外するファセット絞り込み。

注: ファセット絞り込みを使用する場合の推奨方法は、トークン文字列を使用することです。各 FacetResult は、このクラスではなく、許容可能なトークンを持ちます。手動の FacetRefinement を提供するために、このクラスのインスタンスを SearchOptions に渡すことができます。 注: 値または facet_range は、両方ではなく、片方を設定します。 例: 数値ファセットの範囲絞り込みのリクエスト:

FacetRefinement(name=’rating’, facet_range=FacetRange(start=1.0,end=2.5))

static FromTokenString(token_string)ソース

トークン文字列を FacetRefinement オブジェクトに変換します。

キーに互換性がない場合があるため、異なるバージョンの API の間でトークン文字列を保存しないでください。

パラメータ
  • token_string - ToTokenString メソッドによって作成されるか返されるトークン文字列

  • 検索結果。(by) -

戻り値

FacetRefinement オブジェクト。

発生

ValueError - token_string が無効な場合。

ToTokenString()ソース

この絞り込みを HTML で使用しても安全なトークン文字列に変換します。

この文字列の形式は変更されることがあります。

戻り値

このファセット絞り込みのため、HTML で使用しても安全なトークン文字列。

facet_range

ファセット絞り込みの範囲を返します。

name

ファセット絞り込みの名前を返します。

value

ファセット絞り込みの値を返します。

class google.appengine.api.search.search.FacetRequest(*args, **kwds)ソース

ベース: オブジェクト

検索結果に含められるファセット。

名前のみがあるファセットのリクエストの例:

FacetRequest(‘ExpediteShipping’)

(その場合、結果は常にこのファセットを持つことになります)または値の制約があります。

FacetRequest(‘Size’, values=[‘XL’,’L’,’M’]

(結果は指定された値のみを持つこのファセットを持つことになります)または範囲:

FacetRequest(‘Rating’, ranges=[

FacetRange(1.0, 2.0), FacetRange(2.0, 3.5), FacetRange(3.5, 4.0)]

(結果は指定された範囲のこのファセットを持つことになります)

name

ファセットの名前を返します。

ranges

結果に含められる値の FacetRanges を返します。

value_limit

結果に含められる値の数を返します。

values

結果に含められる特定の値を返します。

class google.appengine.api.search.search.FacetResult(name, values=None)ソース

ベース: オブジェクト

ファセット検索で検索から返されるファセットの結果を表します。

name

このファセット結果の名前を返します。

values

このファセット結果の値を返します。

class google.appengine.api.search.search.FacetResultValue(label, count, refinement)ソース

ベース: オブジェクト

検索結果の一部としてのファセット値。

count

このファセット値の数を返します。

label

このファセット値のラベルを返します。

refinement_token

このファセット値の絞り込みトークン文字列を返します。

class google.appengine.api.search.search.Field(name, value, language=None)ソース

ベース: オブジェクト

ドキュメントのフィールドを表す抽象ベースクラス。

このクラスは直接インスタンス化できません。

ATOM = 'ATOM'
DATE = 'DATE'
GEO_POINT = 'GEO_POINT'
HTML = 'HTML'
NUMBER = 'NUMBER'
TEXT = 'TEXT'
TOKENIZED_PREFIX = 'TOKENIZED_PREFIX'
UNTOKENIZED_PREFIX = 'UNTOKENIZED_PREFIX'
VECTOR = 'VECTOR'
language

値のコンテンツが書き込まれている言語のコードを返します。

name

フィールドの名前を返します。

value

フィールドの値を返します。

class google.appengine.api.search.search.FieldExpression(name, expression)ソース

ベース: オブジェクト

返された各結果に対して計算される式を表します。

例:
FieldExpression(name=’content_snippet’,

expression=’snippet(“very important”, content)’)

各検索結果を使用してコンピューティングされた「content_snippet」というフィールドが返されることを意味します。それには、「very important」というクエリと一致する「content」フィールドの HTML スニペットが含まれます。

MAXIMUM_EXPRESSION_LENGTH = 1000
MAXIMUM_OPERATOR_LENGTH = 100
expression

検索結果で返される式を含む文字列を返します。

name

検索結果で返される式の名前を返します。

class google.appengine.api.search.search.HtmlField(name, value=None, language=None)ソース

ベース: google.appengine.api.search.search.Field

HTML コンテンツを持つフィールド。

次の例は、content という名前の HTML フィールドを示しています:

HtmlField(name=’content’, value=’<html>herbata, kawa</html>’, language=’pl’)

class google.appengine.api.search.search.GeoField(name, value=None)ソース

ベース: google.appengine.api.search.search.Field

GeoPoint 値を持つフィールド。

次の例は place という名前の地理フィールドを示しています。

GeoField(name=’place’, value=GeoPoint(latitude=-33.84, longitude=151.26))

class google.appengine.api.search.search.GeoPoint(latitude, longitude)ソース

ベース: オブジェクト

緯度と経度の座標で地球上の地点を表します。

latitude

赤道面と地理的位置を通る線との間の角度を返します。

longitude

基準子午線と別の子午線との間の角度を返します。

google.appengine.api.search.search.get_indexes(*args, **kwds)ソース

利用可能なインデックスのリストを返します。

パラメータ
  • namespace - 返されるインデックスの名前空間。設定されていない場合は、現在の名前空間が使用されます。

  • offset - 最初に返されるインデックスのオフセット。

  • limit - 返されるインデックスの数。

  • start_index_name - 返される最初のインデックスの名前。

  • include_start_index - 開始インデックスを返すかどうか。

  • index_name_prefix - 返されたインデックスの選択に使用される接頭辞。

  • fetch_schema - 各インデックスのスキーマを取得するかどうか。

Kwargs:

deadline: デフォルトが使用されない場合の秒単位の RPC コールの期限

戻り値

利用可能なインデックスのリストを含む GetResponse

発生
  • InternalError - リクエストが内部サーバーで失敗した場合。

  • TypeError - いずれかのパラメータが無効なタイプであるか、不明な属性が渡された場合。

  • ValueError - いずれかのパラメータが無効な値である場合(例: 負の期限)。

google.appengine.api.search.search.get_indexes_async(*args, **kwds)ソース

非同期的に利用可能なインデックスのリストを返します。

future を返すことを除き、get_indexes() と同じです。get_result() を呼び出し、戻り値に応じて呼び出しをブロックし、その結果を取得します。

class google.appengine.api.search.search.GetResponse(results=None)ソース

ベース: オブジェクト

取得リクエストの実行結果を表します。

たとえば、次のコードは、ドキュメントが正常に削除されたか、されなかったかを判別するために、レスポンスを使用できる方法を示しています。

response = index.get_range() for document in response:

print “document “, document

results

インデックスから ID で並べた結果のリストを返します。

class google.appengine.api.search.search.Index(name, namespace=None, source='SEARCH')ソース

ベース: オブジェクト

ドキュメントのインデックス登録、削除、検索を可能にするインデックスを表します。

次のコードは、ドキュメントを追加する方法を示し、クエリと一致するドキュメントのインデックスを検索します。

# インデックスを取得します。index = Index(name=’index-name’)

# ドキュメントを作成します。doc = Document(doc_id=’document-id’,

fields=[TextField(name=’subject’, value=’my first email’),
HtmlField(name=’body’,

value=’<html>some content here</html>’)])

# ドキュメントをインデックスに登録します。次を試行してください。

index.put(doc)

except search.Error, e:

# インデックス登録を再試行するか、エラーを記録します。

# インデックスのクエリを行います。次を試行してください。

results = index.search(‘subject:first body:here’)

# 検索結果を反復します。for scored_document in results:

print scored_document

except search.Error, e:

# 失敗をログに記録

指定された仕様でインデックスに登録されると、その仕様は変更できません。

検索結果に最新ではないドキュメント含まれていることがあります。ただし、インデックスに保存されているいずれかのドキュメントに対してなんらかの 2 つの変更があった場合、それらの変更は、正しい順序で適用されます。

CLOUD_STORAGE = 'CLOUD_STORAGE'
DATASTORE = 'DATASTORE'
RESPONSE_CURSOR = 'RESPONSE_CURSOR'
RESULT_CURSOR = 'RESULT_CURSOR'
SEARCH = 'SEARCH'
delete(*args, **kwds)ソース

インデックスから対応するドキュメント ID を持つドキュメントを削除します。

リスト内の識別子に対するドキュメントが存在しない場合、そのドキュメント ID は無視されます。

パラメータ

document_ids - 削除するドキュメントの単一の識別子、または識別子のリスト。

Kwargs:

deadline: デフォルトが使用されない場合の秒単位の RPC コールの期限

発生
  • DeleteError - 1 つまたは複数のドキュメントの削除に失敗したか、削除された数が要求数と一致しませんでした。

  • ValueError - document_ids が有効なドキュメント ID の文字列ではないか、反復可能ではないか、ドキュメント ID の数が MAXIMUM_DOCUMENTS_PER_PUT_REQUEST を超えているか、期限が負の数の場合です。

delete_async(*args, **kwds)ソース

非同期的に、対応するドキュメント ID を持つドキュメントを削除します。

future を返すことを除き、delete() と同じです。get_result() を呼び出し、戻り値に応じて呼び出しをブロックし、その結果を取得します。

delete_schema()ソース

1.7.4 で非推奨となりました。インデックスからスキーマを削除します。

このメソッドのサポートを終了し、より一般的なスキーマとインデックス管理に置き換えています。

使用可能性は、もはや使用されない削除型フィールドです。スキーマを削除した後、スキーマを再構築するには、1 つまたは複数のドキュメントをインデックスに登録する必要があります。一部のドキュメントをインデックスに再び登録するまで、検索は失敗し、特にフィールド制限を使っている検索は失敗する可能性があります。

発生

DeleteError - スキーマを削除できなかった場合。

get(*args, **kwds)ソース

ドキュメント ID でドキュメントを取得します。

パラメータ

doc_id - 取得するドキュメントの ID。

Kwargs:

deadline: デフォルトが使用されない場合の秒単位の RPC コールの期限

戻り値

ドキュメント ID が存在する場合、関連するドキュメントを返します。それ以外の場合は、None を返します。

発生
  • TypeError - いずれかのパラメータが無効なタイプであるか、不明な属性が渡された場合。

  • ValueError - いずれかのパラメータが無効な値である場合(例: 負の期限)。

get_async(*args, **kwds)ソース

非同期的に、ドキュメント ID でドキュメントを取得します。

future を返すことを除き、get() と同じです。get_result() を呼び出し、戻り値に応じて呼び出しをブロックし、その結果を取得します。

get_range(*args, **kwds)ソース

ID 順に、インデックス内のドキュメントの範囲を取得します。

パラメータ
  • start_id - ドキュメントのリストを開始する ID を含む文字列。デフォルトでは、最初の ID から開始します。

  • include_start_object - true の場合、start_id parameter で指定された ID を持つドキュメントを含めます。

  • limit - 返されるドキュメントの最大数。

  • ids_only - true の場合、返されるドキュメントのみこれらのキーを含みます。

Kwargs:

deadline: デフォルトが使用されない場合の秒単位の RPC コールの期限

戻り値

ID で並べられたドキュメントのリストを含む GetResponse。

発生
  • Error - リクエストの処理でエラーが発生した場合、サブクラスが発生します。

  • TypeError - いずれかのパラメータが無効なタイプであるか、不明な属性が渡された場合。

  • ValueError - いずれかのパラメータが無効な値である場合(例: 負の期限)。

get_range_async(*args, **kwds)ソース

非同期的に、ID 順にインデックス内のドキュメントの範囲を取得します。

future を返すことを除き、get_range() と同じです。get_result() を呼び出し、戻り値に応じて呼び出しをブロックし、その結果を取得します。

name

インデックスの名前を返します。

namespace

インデックスの名前の名前空間を返します。

put(*args, **kwds)ソース

ドキュメントのコレクションをインデックスに登録します。

ドキュメントのいずれかがすでにインデックスに登録されている場合は、対応する新しいドキュメントで再びインデックスに登録します。

パラメータ

documents - インデックス登録するドキュメントまたは反復可能なドキュメント。

Kwargs:

deadline: デフォルトが使用されない場合の秒単位の RPC コールの期限

戻り値

PutResult のリスト、インデックス登録が要求されたドキュメントごとに 1 つです。

発生
  • PutError - 1 つまたは複数のドキュメントがインデックスに登録されなかったか、インデックスに登録された数が要求数と一致しませんでした。

  • TypeError - 不明な属性が渡された場合。

  • ValueError - ドキュメントがドキュメントではない、または反復可能なドキュメントではないか、ドキュメントの数が MAXIMUM_DOCUMENTS_PER_PUT_REQUEST を超えているか、期限が負の数の場合です。

put_async(*args, **kwds)ソース

非同期的に、ドキュメントのコレクションをインデックスに登録します。

future を返すことを除き、put() と同じです。get_result() を呼び出し、戻り値に応じて呼び出しをブロックし、その結果を取得します。

schema

サポートされるタイプのリストにフィールド名をマッピングするスキーマを返します。

search.get_indexes メソッドにより返されるインデックスについてのみ有効です。

search(*args, **kwds)ソース

インデックス内でクエリに一致するドキュメントを検索します。

たとえば、次のコードでは、件名に「first」、いずれかの部分に「good」を含むドキュメントの検索を要求しています。この例の場合、最大で 20 のドキュメントが返され、「カーソル トークン」から検索を開始し、そのレスポンスについて別のカーソルが 1 つ返され、件名で降順に並べ替えて、作成者、件名、概要の各フィールドの他にスニペット フィールドのコンテンツが返されます。

results = index.search(
query=Query(‘subject:first good’,
options=QueryOptions(limit=20,

cursor=Cursor(), sort_options=SortOptions(

expressions=[SortExpression(expression=’subject’)], limit=1000),

returned_fields=[‘author’, ‘subject’, ‘summary’], snippeted_fields=[‘content’])))

次のコードは、結果のカーソルの使用方法を示します。

cursor = results.cursor for result in results:

# 処理結果

results = index.search(

Query(‘subject:first good’, options=QueryOptions(cursor=cursor)))

次のコードは、per_result カーソルの使用方法を示します。

results = index.search(
query=Query(‘subject:first good’,
options=QueryOptions(limit=20,

cursor=Cursor(per_result=True), …)))

cursor = None for result in results:

cursor = result.cursor

results = index.search(

Query(‘subject:first good’, options=QueryOptions(cursor=cursor)))

クエリ構文の詳細については、http://developers.google.com/appengine/docs/python/search/query_strings をご覧ください。

パラメータ

query - インデックス内のドキュメントと照合するクエリ。

Kwargs:

deadline: デフォルトが使用されない場合の秒単位の RPC コールの期限

戻り値

クエリにより一致したドキュメントの数、返された数、一致したドキュメントのリストを含む SearchResults。

発生
  • TypeError - いずれかのパラメータが無効なタイプであるか、不明な属性が渡された場合。

  • ValueError - いずれかのパラメータが無効な値である場合(例: 負の期限)。

search_async(*args, **kwds)ソース

非同期的にインデックス内でクエリと一致するドキュメントを検索します。

future を返すことを除き、search() と同じです。get_result() を呼び出し、戻り値に応じて呼び出しをブロックし、その結果を取得します。

source

インデックスのソースを返します。

サポート終了: 1.7.6 からソースは利用できなくなりました。

storage_limit

このインデックスのバイト単位の最大許容保存容量。

search.get_indexes から取得されていないインデックスに対し、None を返します。

storage_usage

このインデックスで使用されるバイトの概数。

最近の変更の結果を反映していない場合があるため、数字は少し古い可能性があります。

search.get_indexes から取得されていないインデックスに対し、None を返します。

exception google.appengine.api.search.search.InternalErrorソース

ベース: google.appengine.api.search.search.Error

内部バックエンドで Search API でのコールが失敗したことを示しています。

exception google.appengine.api.search.search.InvalidRequestソース

ベース: google.appengine.api.search.search.Error

クライアントにより、Search API で無効なリクエストが行われたことを示しています。

class google.appengine.api.search.search.MatchScorerソース

ベース: オブジェクト

用語の出現頻度に基づいてドキュメントのスコアを割り当てます。

次のコードのように、MatchScorer を SortOptions に追加する場合。

sort_opts = search.SortOptions(match_scorer=search.MatchScorer())

このコードはドキュメントをスコアの降順で並べ替えます。スコアは正の数になります。昇順で並べ替えるには、次のコードを使用します。

sort_opts = search.SortOptions(match_scorer=search.MatchScorer(),
expressions=[search.SortExpression(

expression=’_score’, direction=search.SortExpression.ASCENDING, default_value=0.0)])

この場合のスコアは負の値です。

class google.appengine.api.search.search.NumberField(name, value=None)ソース

ベース: google.appengine.api.search.search.Field

数値を持つフィールド。

次の例は、size という名前の数値フィールドを示しています。

NumberField(name=’size’, value=10)

class google.appengine.api.search.search.NumberFacet(name, value=None)ソース

ベース: google.appengine.api.search.search.Facet

数値を持つファセット。

次の例は wine_vintage という名前の数値ファセットを示しています。

NumberFacet(name=’wine_vintage’, value=2000)

class google.appengine.api.search.search.OperationResult(code, message=None, id=None)ソース

ベース: オブジェクト

バッチ インデックスまたは削の個々の操作の結果を表します。

これは抽象クラスです。

CONCURRENT_TRANSACTION = 'CONCURRENT_TRANSACTION'
INTERNAL_ERROR = 'INTERNAL_ERROR'
INVALID_REQUEST = 'INVALID_REQUEST'
OK = 'OK'
TIMEOUT = 'TIMEOUT'
TRANSIENT_ERROR = 'TRANSIENT_ERROR'
code

操作のステータスを示すコードを返します。

id

操作が実行されたオブジェクトの ID を返します。

message

操作がエラーであった場合、関連するエラー メッセージを返します。

exception google.appengine.api.search.search.PutError(message, results)ソース

ベース: google.appengine.api.search.search.Error

要求されたオブジェクトの 1 つのインデックスの登録にエラーが発生したことを示します。

results

インデックスを登録されたオブジェクトに対応する PutResult リストを返します。

class google.appengine.api.search.search.PutResult(code, message=None, id=None)ソース

ベース: google.appengine.api.search.search.OperationResult

単一のオブジェクトのインデックスを登録した結果。

class google.appengine.api.search.search.Query(*args, **kwds)ソース

ベース: オブジェクト

インデックスのクエリに対する検索サービスでのリクエストを表わします。

enable_facet_discovery

ファセット検出がオンになっていれば、true を返します。

facet_options

ファセットの処理を定義する FacetOptions を返します。

facet_refinements

ファセット絞り込みのリストを返します。

options

検索結果の後処理を定義する QueryOptions を返します。

query_string

検索サービスに適用されるクエリ文字列を返します。

return_facets

結果に含まれる特定のファセットのリストを返します。

exception google.appengine.api.search.search.QueryErrorソース

ベース: google.appengine.api.search.search.Error

クエリ入力文字列を解析中にエラーが発生しました。

class google.appengine.api.search.search.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)ソース

ベース: オブジェクト

クエリの後処理結果のオプション。

オプションには、結果の並べ替え、どのドキュメント フィールドを返すかの制御、フィールドのスニペットの生成、複雑なスコアリング式によるコンピューティングと並べ替えなどがあります。

検索結果のページにランダムにアクセスしたい場合、オフセットを使用できます。

# 最初の結果セットを取得します。page_size = 10 results = index.search(Query(query_string=’some stuff’,

QueryOptions(limit=page_size))

# ページを計算します。pages = results.found_count / page_size

# ユーザーがページ、つまり結果へのオフセットを選択します。next_page = ith * page_size

# そのページの検索結果を取得します。results = index.search(Query(query_string=’some stuff’,

QueryOptions(limit=page_size, offset=next_page))

cursor

クエリのカーソルを返します。

ids_only

検索結果にドキュメント ID のみを返すかどうかを返します。

limit

結果で返されるドキュメントの数の上限を返します。

number_found_accuracy

SearchResults.number_found の正確性に関する最小要件を返します。

offset

検索結果でスキップするドキュメントの数を返します。

returned_expressions

結果で返される反復可能な FieldExpression を返します。

returned_fields

検索結果で返される反復可能なフィールドの名前を返します。

snippeted_fields

検索結果でスニペット化して返される反復可能なフィールド名を返します。

sort_options

SortOptions を返します。

class google.appengine.api.search.search.RescoringMatchScorerソース

ベース: google.appengine.api.search.search.MatchScorer

ドキュメントの各パーツにより重み付けされた用語の出現頻度に基づいてスコアを割り当てます。

次のコードのように MatchScorer を SortOptions に追加する場合:

sort_opts = search.SortOptions(match_scorer=search.RescoringMatchScorer())

このコードはドキュメントをスコアの降順で並べ替えます。スコアは正の数になります。昇順で並べ替えるには、次のコードを使用します。

sort_opts = search.SortOptions(match_scorer=search.RescoringMatchScorer(),
expressions=[search.SortExpression(

expression=’_score’, direction=search.SortExpression.ASCENDING, default_value=0.0)])

この場合のスコアは負の値です。

class google.appengine.api.search.search.ScoredDocument(doc_id=None, fields=None, language='en', sort_scores=None, expressions=None, cursor=None, rank=None, facets=None)ソース

ベース: google.appengine.api.search.search.Document

検索から返されるスコア ドキュメントを表します。

cursor

継続する検索の開始点としての結果に関連付けられたカーソル。

このカーソルが表示されるようにするには、cursor_type を Index.RESULT_CURSOR に設定します。このようにしない場合は、None になります。

戻り値

結果カーソル。

expressions

式の評価の結果である計算済みフィールドのリスト。

たとえば、リクエストが以下を持つ場合、

FieldExpression(name=’snippet’, ‘snippet(“good story”, content)’)

「content」フィールドの「good story」というクエリと一致する結果から抽出された HTML スニペットを含むスニペット フィールドをコンピューティングすることを意味します。つまり、検索結果の式で次のようなフィールドが返されます。

HtmlField(name=’snippet’, value=’that was a <b>good story</b> to finish’)

戻り値

計算済みフィールド。

sort_scores

並べ替えの評価で割り当てられるスコアのリスト。

スコアを取得する適切な方法は、「_score」を FieldExpression で使用することです。

戻り値

数値並べ替えスコアのリスト。

class google.appengine.api.search.search.SearchResults(number_found, results=None, cursor=None, facets=None)ソース

ベース: オブジェクト

検索リクエストを実行した結果を表します。

cursor

最後の結果から検索の継続に使用できるカーソルを返します。

これは、QueryOptions での ResultsCursor の使用に対応します。それ以外の場合は None になります。

戻り値

結果カーソル。

facets

一致したドキュメントで見つかった FacetResults のリストを返します。

number_found

検索で見つかったドキュメントの数を返します。

これは概算であり、正確な数ではありません。QueryOptions.number_found_accuracy パラメータを、たとえば、100 に設定すると、number_found <= 100 は正確となります。

戻り値

見つかったドキュメントの数。

results

クエリと一致した ScoredDocuments のリストを返します。

class google.appengine.api.search.search.SortExpression(expression, direction='DESCENDING', default_value=None)ソース

ベース: オブジェクト

ユーザーが指定したスコアリング式で並べ替えます。

たとえば、次の例では、「length」という名前の数値フィールドに基づいてドキュメントを昇順で並べ替え、「length」フィールドを指定しないドキュメントに sys.maxint のデフォルト値を割り当てます。

SortExpression(expression=’length’,

direction=sort.SortExpression.ASCENDING, default_value=sys.maxint)

次の例では、「published_date」という名前の日付フィールドに基づいてドキュメントを降順で並べ替え、「published_date」フィールドを指定しないドキュメントに 1999-12-31 のデフォルト値を割り当てます。

SortExpression(expression=’published_date’,

default_value=datetime.date(year=1999, month=12, day=31))

次の例では、「subject」という名前のテキスト フィールドでドキュメントを降順で並べ替え、「subject」フィールドを指定しないドキュメントにデフォルト値を割り当てます。

SortExpression(expression=’subject’)

ASCENDING = 'ASCENDING'
DESCENDING = 'DESCENDING'
MAX_FIELD_VALUE = u'\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff\U0010ffff'
MIN_FIELD_VALUE = u''
default_value

値が計算されていない場合は、式のデフォルト値を返します。

direction

並べ替えの方向を返します。ASCENDING または DESCENDING。

expression

並べ替える式を返します。

class google.appengine.api.search.search.SortOptions(expressions=None, match_scorer=None, limit=1000)ソース

ベース: オブジェクト

ドキュメントの多次元の並べ替えを表します。

次のコードは、ドキュメントをプロダクトの評価の降順に並べ替えて、評価が同等のプロダクトは安価な順に並べ替える方法を示し、1,000 ドキュメントを上限として並べ替えています。

SortOptions(expressions=[
SortExpression(expression=’rating’,

direction=SortExpression.DESCENDING, default_value=0),

SortExpression(expression=’price + tax’,

direction=SortExpression.ASCENDING, default_value=999999.99)],

limit=1000)

expressions

多次元の並べ替えを指定する SortExpression のリストを返します。

limit

スコアまたは並べ替えるドキュメントの数の上限を返します。

match_scorer

ドキュメントのスコアの計算に使用するマッチ スコアラーを返します。

class google.appengine.api.search.search.TextField(name, value=None, language=None)ソース

ベース: google.appengine.api.search.search.Field

テキスト コンテンツを持つフィールド。

次の例は、ポーランド語のコンテンツを持つ signature という名前のテキスト フィールドを示しています。

TextField(name=’signature’, value=’brzydka pogoda’, language=’pl’)

exception google.appengine.api.search.search.Timeoutソース

ベース: google.appengine.api.search.search.Error

その期限までに終了できなかった Search API でのコールを示します。

class google.appengine.api.search.search.TokenizedPrefixField(name, value=None, language=None)ソース

ベース: google.appengine.api.search.search.Field

個々の用語の接頭辞での検索と一致するフィールド。

次の例は、title という名前のトークン化された接頭辞フィールドを示しています。

TokenizedPrefixField(name=’title’, value=’Goodwill Hunting’)

exception google.appengine.api.search.search.TransientErrorソース

ベース: google.appengine.api.search.search.Error

Search API での呼び出しに失敗しましたが、再試行すると成功する可能性があることを示します。

class google.appengine.api.search.search.UntokenizedPrefixField(name, value=None, language=None)ソース

ベース: google.appengine.api.search.search.Field

フィールド全体の接頭辞での検索と一致するフィールド。

次の例は、title という名前のトークン化されていない接頭辞フィールドを示しています。

UntokenizedPrefixField(name=’title’, value=’how to swim freestyle’)

class google.appengine.api.search.search.VectorField(name, value=None)ソース

ベース: google.appengine.api.search.search.Field

ドット積の式で使用できるベクトル フィールド。

次の例は、scores という名前のベクトル フィールドを示しています。

VectorField(name=’scores’, value=[1, 2, 3])

それは、次のような並べ替え / フィールドの式で使用できます。

dot(scores, vector(3, 2, 1))

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Python の App Engine スタンダード環境