Módulo google.appengine.api.search.search

Resumo

Uma Python Search API usada por desenvolvedores de aplicativos.

Contém métodos usados para interface com a Search API. Contém classes de API que encaminham para apiproxy.

Conteúdo

class google.appengine.api.search.search.AtomField(name, value=None, language=None)source

Bases: google.appengine.api.search.search.Field

Um campo que tem conteúdo para ser tratado como um único token para indexação.

O seguinte exemplo mostra um campo atômico chamado "contributor":

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

class google.appengine.api.search.search.AtomFacet(name, value=None)source

Bases: google.appengine.api.search.search.Facet

Um atributo que tem conteúdo para ser tratado como um único token para indexação.

No exemplo a seguir, há um atributo atômico denominado wine_type:

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

exception google.appengine.api.search.search.ConcurrentTransactionErrorsource

Bases: google.appengine.api.search.search.Error

Indica que uma chamada na API de pesquisa falhou por causa de atualizações simultâneas.

class google.appengine.api.search.search.Cursor(web_safe_string=None, per_result=False)source

Bases: object

Especifica como receber a próxima página de resultados em uma pesquisa.

Um cursor retornado em um conjunto anterior de resultados da pesquisa a ser usado como ponto de partida para recuperar o próximo conjunto de resultados. Isso pode melhorar o desempenho e também a consistência da paginação por meio de atualizações do índice

O texto a seguir mostra como usar o cursor para recuperar a próxima página de resultados:

# recuperar o primeiro conjunto de resultados. O primeiro cursor é usado para especificar que os cursores precisam ser retornados no SearchResults. results = index.search(Query(query_string=’some stuff’,

QueryOptions(cursor=Cursor()))

# recuperar o próximo conjunto de resultados results = index.search(Query(query_string=’some stuff’,

QueryOptions(cursor=results.cursor)))

Se quiser continuar pesquisando qualquer um dos ScoredDocuments em SearchResults, você poderá definir Cursor.per_result como True.

# recuperar o primeiro conjunto de resultados. O primeiro cursor é usado para especificar que os cursores precisam ser retornados no SearchResults. results = index.search(Query(query_string=’some stuff’,

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

# isto mostra como acessar os cursores per_document retornados de uma pesquisa per_document_cursor = None para scored_document nos resultados:

per_document_cursor = scored_document.cursor

# recuperar o próximo conjunto de resultados results = index.search(Query(query_string=’some stuff’,

QueryOptions(cursor=per_document_cursor)))

per_result

Retorna se é necessário retornar um cursor para cada ScoredDocument nos resultados.

web_safe_string

Retorna a string do cursor gerada pelo serviço de pesquisa.

class google.appengine.api.search.search.DateField(name, value=None)source

Bases: google.appengine.api.search.search.Field

Um campo que tem um valor de data ou data e hora.

Somente valores de data ou data e hora “naive” do Python podem ser usados (não valores “aware”).

O seguinte exemplo mostra um campo de data chamado creation_date:

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

exception google.appengine.api.search.search.DeleteError(message, results)source

Bases: google.appengine.api.search.search.Error

Indica que ocorreu algum erro na exclusão de um dos objetos solicitados.

results

Retorna a lista DeleteResult correspondente a documentos excluídos.

class google.appengine.api.search.search.DeleteResult(code, message=None, id=None)source

Bases: google.appengine.api.search.search.OperationResult

O resultado da exclusão de um único documento.

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

Bases: object

Representa um documento gerado pelo usuário.

O exemplo a seguir mostra como criar um documento que consiste em um conjunto de campos, uma parte em texto simples e outra em 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

Retorna o identificador do documento.

facet(facet_name)source

Retorna a lista de atributos com o nome fornecido.

Parâmetros

facet_name: o nome do atributo a ser retornado.

Retorna

Uma lista de atributos com o nome indicado.

facets

Retorna uma lista de atributos do documento.

field(field_name)source

Retorna o campo com o nome do campo fornecido.

Parâmetros

field_name: o nome do campo a ser retornado.

Retorna

Um campo com o nome indicado.

Gera

ValueError: não existe exatamente um campo com o nome indicado.

fields

Retorna uma lista de campos do documento.

language

Retorna o código do idioma em que os campos do documento são gravados.

rank

Retorna a classificação deste documento.

exception google.appengine.api.search.search.Errorsource

Bases: exceptions.Exception

Indica que uma chamada na API de pesquisa falhou.

exception google.appengine.api.search.search.ExpressionErrorsource

Bases: google.appengine.api.search.search.Error

Ocorreu um erro durante a análise de uma string de entrada de expressão.

class google.appengine.api.search.search.Facet(name, value)source

Bases: object

Uma classe base abstrata que representa um atributo de um documento.

Essa classe não pode ser instanciada diretamente.

name

Retorna o nome do atributo.

value

Retorna o valor do atributo.

class google.appengine.api.search.search.FacetOptions(*args, **kwds)source

Bases: object

Opções para processar resultados de atributo de uma consulta.

depth

Retorna o número de documentos para analisar a descoberta do atributo.

discovery_limit

Retorna o número de atributos a serem descobertos.

discovery_value_limit

Retorna o número de valores a serem descobertos para cada atributo.

class google.appengine.api.search.search.FacetRange(*args, **kwds)source

Bases: object

Um intervalo de atributos com valores inicial e final.

Um exemplo de um FacetRange para boa classificação é FacetRange(start=3.0, end=3.5)

end

Retorna o final exclusivo do intervalo.

start

Retorna o início inclusivo do intervalo.

class google.appengine.api.search.search.FacetRefinement(*args, **kwds)source

Bases: object

Um refinamento de atributos para filtrar resultados de pesquisa com base no valor deles.

OBSERVAÇÃO: a maneira recomendada de refinamento de atributos é usar a string de token. Cada FacetResult terá um token aceitável, em vez dessa classe. Para fornecer FacetRefinement manual, uma instância dessa classe pode ser passada para SearchOptions. OBSERVAÇÃO: um valor ou facet_range precisa ser definido, mas não ambos. Exemplo: solicitação de um refinamento do intervalo para um atributo numérico:

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

static FromTokenString(token_string)source

Converte uma string de token em um objeto FacetRefinement.

Não armazene strings de token entre diferentes versões da API, porque a chave pode ser incompatível.

Parâmetros
  • token_string: uma string de token criada pelo método ToTokenString ou

  • retornou um resultado da pesquisa. (by) –

Retorna

Um objeto FacetRefinement.

Gera

ValueError: caso token_string seja inválido.

ToTokenString()source

Converte este refinamento em uma string de token segura para uso em HTML.

O formato dessa string pode mudar.

Retorna

Uma string de token segura para uso em HTML neste refinamento de atributos.

facet_range

Retorna o intervalo do refinamento de atributos.

name

Retorna o nome do refinamento de atributos.

value

Retorna o valor do refinamento de atributos.

class google.appengine.api.search.search.FacetRequest(*args, **kwds)source

Bases: object

Um atributo a ser incluído no resultado da pesquisa.

Um exemplo de uma solicitação para um atributo somente com nome:

FacetRequest(‘ExpediteShipping’)

Neste caso, os resultados sempre terão esse atributo. Ou com uma restrição de valor:

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

Os resultados terão esse atributo somente com valores especificados. Ou intervalos:

FacetRequest(‘Rating’, ranges=[

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

Os resultados terão esse atributo com intervalos especificados

name

Retorna o nome do atributo.

ranges

Retorna FacetRanges de valores a serem incluídos no resultado.

value_limit

Retorna o número de valores a serem incluídos no resultado.

values

Retorna valores específicos a serem incluídos no resultado.

class google.appengine.api.search.search.FacetResult(name, values=None)source

Bases: object

Representa um resultado de atributo retornado de uma pesquisa com pesquisa de atributo.

name

Retorna o nome do resultado desse atributo.

values

Retorna valores do resultado do atributo.

class google.appengine.api.search.search.FacetResultValue(label, count, refinement)source

Bases: object

Um valor de atributo como parte do resultado da pesquisa.

count

Retorna a contagem do valor deste atributo.

label

Retorna o rótulo do valor deste atributo.

refinement_token

Retorna a string do token de refinamento para o valor deste atributo.

class google.appengine.api.search.search.Field(name, value, language=None)source

Bases: object

Uma classe base abstrata que representa um campo de um documento.

Essa classe não pode ser instanciada diretamente.

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

Retorna o código do idioma em que o conteúdo no valor é gravado.

name

Retorna o nome do campo.

value

Retorna o valor do campo.

class google.appengine.api.search.search.FieldExpression(name, expression)source

Bases: object

Representa uma expressão que será calculada para cada resultado retornado.

Por exemplo,
FieldExpression(name=’content_snippet’,

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

significa que um campo calculado "content_snippet" será retornado com cada resultado da pesquisa, que contém snippets HTML do campo "content" que correspondem à consulta "very important".

MAXIMUM_EXPRESSION_LENGTH = 1000
MAXIMUM_OPERATOR_LENGTH = 100
expression

Retorna uma string que contém uma expressão retornada nos resultados da pesquisa.

name

Retorna o nome da expressão nos resultados da pesquisa.

class google.appengine.api.search.search.HtmlField(name, value=None, language=None)source

Bases: google.appengine.api.search.search.Field

Um campo com conteúdo HTML.

O seguinte exemplo mostra um campo html chamado "content":

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

class google.appengine.api.search.search.GeoField(name, value=None)source

Bases: google.appengine.api.search.search.Field

Um campo com um valor GeoPoint.

O seguinte exemplo mostra um campo geográfico chamado "place":

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

class google.appengine.api.search.search.GeoPoint(latitude, longitude)source

Bases: object

Representa um ponto na superfície da Terra, em coordenadas de latitude e longitude.

latitude

Retorna o ângulo entre o plano equatorial e a linha até o ponto geográfico.

longitude

Retorna o ângulo de um meridiano de referência até outro meridiano.

google.appengine.api.search.search.get_indexes(*args, **kwds)source

Retorna uma lista de índices disponíveis.

Parâmetros
  • namespace: o namespace dos índices a serem retornados. Se não estiver definido, o namespace atual será usado.

  • offset: o deslocamento do primeiro índice retornado.

  • limit: o número de índices a serem retornados.

  • start_index_name: o nome do primeiro índice a ser retornado.

  • include_start_index: se é ou não necessário retornar o índice inicial.

  • index_name_prefix: o prefixo usado para selecionar índices retornados.

  • fetch_schema: se é ou não necessário recuperar Schema para cada Index.

Kwargs:

deadline: prazo para chamada RPC em segundos. Se None, use o padrão.

Retorna

GetResponse que contém uma lista de índices disponíveis.

Gera
  • InternalError: caso a solicitação falhe em servidores internos.

  • TypeError: caso algum dos parâmetros tenha tipos inválidos ou um atributo desconhecido seja passado.

  • ValueError: caso algum dos parâmetros tenha valores inválidos (por exemplo, um prazo negativo).

google.appengine.api.search.search.get_indexes_async(*args, **kwds)source

Retorna de maneira assíncrona uma lista de índices disponíveis.

Idêntico a get_indexes(), exceto por retornar um futuro. Chame get_result() no valor de retorno a ser bloqueado na chamada e receber o resultado.

class google.appengine.api.search.search.GetResponse(results=None)source

Bases: object

Representa o resultado da execução de uma solicitação get.

Por exemplo, o código a seguir mostra como uma resposta pode ser usada para determinar quais documentos foram removidos com êxito ou não.

response = index.get_range() para o documento na resposta:

print “document “, document

results

Retorna uma lista de resultados classificados por código pelo índice.

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

Bases: object

Representa um índice que permite indexar, excluir e pesquisar documentos.

O fragmento de código a seguir mostra como adicionar documentos e procurar o índice de documentos correspondentes a uma consulta.

# Recuperar o índice. index = Index(name=’index-name’)

# Criar um documento. doc = Document(doc_id=’document-id’,

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

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

# Indexar o documento. Tente:

index.put(doc)

except search.Error, e:

# reindexação possível ou erro no registro

# Consultar o índice. Tente:

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

# Iterar nos resultados da pesquisa. Para scored_document nos resultados:

print scored_document

except search.Error, e:

# registrar possivelmente a falha

Depois que um índice for criado com uma determinada especificação, essa especificação será imutável.

Os resultados da pesquisa podem conter alguns documentos desatualizados. No entanto, duas alterações feitas em qualquer documento armazenado em um índice são aplicadas na ordem correta.

CLOUD_STORAGE = 'CLOUD_STORAGE'
DATASTORE = 'DATASTORE'
RESPONSE_CURSOR = 'RESPONSE_CURSOR'
RESULT_CURSOR = 'RESULT_CURSOR'
SEARCH = 'SEARCH'
delete(*args, **kwds)source

Exclua os documentos com os códigos de documento correspondentes do índice.

Se não houver documento para o identificador na lista, o identificador desse documento será ignorado.

Parâmetros

document_ids: um identificador único ou uma lista de identificadores de documentos a serem excluídos.

Kwargs:

deadline: prazo para chamada RPC em segundos. Se None, use o padrão.

Gera
  • DeleteError: caso um ou mais documentos deixem de ser removidos ou o número removido não tenha a correspondência solicitada.

  • ValueError: caso document_ids não seja uma string ou um iterável de identificadores de documento válidos, ou o número de códigos de documento seja maior que MAXIMUM_DOCUMENTS_PER_PUT_REQUEST ou o prazo seja um número negativo.

delete_async(*args, **kwds)source

Exclua de maneira assíncrona os documentos com os códigos de documento correspondentes.

Idêntico a delete(), exceto por retornar um futuro. Chame get_result() no valor de retorno a ser bloqueado na chamada e receber o resultado.

delete_schema()source

Obsoleto em 1.7.4. Exclua o esquema do índice.

Estamos suspendendo o uso desse método e o substituindo por um esquema geral e um gerenciamento de índices.

Um possível uso pode ser remover campos de tipo que deixaram de ser usados. Depois de excluir o esquema, você precisará indexar um ou mais documentos para recriar o esquema. Até você reindexar alguns documentos, as pesquisas poderão falhar, especialmente pesquisas que usam restrições de campo.

Gera

DeleteError: caso o esquema deixe de ser excluído.

get(*args, **kwds)source

Recupere um documento por código.

Parâmetros

doc_id: o código do documento a ser recuperado.

Kwargs:

deadline: prazo para chamada RPC em segundos. Se None, use o padrão.

Retorna

Caso o código do documento exista, retorna o documento associado. Do contrário, retorna None.

Gera
  • TypeError: caso algum dos parâmetros tenha tipos inválidos ou um atributo desconhecido seja passado.

  • ValueError: caso algum dos parâmetros tenha valores inválidos (por exemplo, um prazo negativo).

get_async(*args, **kwds)source

Recupere de maneira assíncrona um documento por código.

Idêntico a get(), exceto por retornar um futuro. Chame get_result() no valor de retorno a ser bloqueado na chamada e receber o resultado.

get_range(*args, **kwds)source

Receba um intervalo de documentos no índice, na ordem do código.

Parâmetros
  • start_id: string que contém o código que serve de base para listar os documentos. Por padrão, começa no primeiro código.

  • include_start_object: caso verdadeiro, inclua o documento com o código especificado pelo parâmetro start_id.

  • limit: o número máximo de documentos a serem retornados.

  • ids_only: se verdadeiro, os documentos retornados incluirão somente as chaves.

Kwargs:

deadline: prazo para chamada RPC em segundos. Se None, use o padrão.

Retorna

Um GetResponse que contém uma lista de documentos, classificada por código.

Gera
  • Error: uma subclasse de Error é gerada se um erro ocorreu durante o processamento da solicitação.

  • TypeError: caso algum dos parâmetros tenha tipos inválidos ou um atributo desconhecido seja passado.

  • ValueError: caso algum dos parâmetros tenha valores inválidos (por exemplo, um prazo negativo).

get_range_async(*args, **kwds)source

Recupera de maneira assíncrona um intervalo de documentos no índice, na ordem do código.

Idêntico a get_range(), exceto por retornar um futuro. Chame get_result() no valor de retorno a ser bloqueado na chamada e receber o resultado.

name

Retorna o nome do índice.

namespace

Retorna o namespace do nome do índice.

put(*args, **kwds)source

Indexe a coleção de documentos.

Caso algum dos documentos já esteja no índice, reindexe-os com o novo documento correspondente.

Parâmetros

documents: um documento ou um iterável de documentos a ser indexado.

Kwargs:

deadline: prazo para chamada RPC em segundos. Se None, use o padrão.

Retorna

Uma lista de PutResult, um por documento solicitado para ser indexado.

Gera
  • PutError: caso um ou mais documentos deixem de ser indexados ou o número removido não tenha a correspondência solicitada.

  • TypeError: caso um atributo desconhecido seja passado.

  • ValueError: se documents não for um documento ou um iterável de documento, se o número dos documentos for maior que MAXIMUM_DOCUMENTS_PER_PUT_REQUEST ou se o prazo for um número negativo.

put_async(*args, **kwds)source

Indexa de maneira assíncrona a coleção de documentos.

Idêntico a put(), exceto por retornar um futuro. Chame get_result() no valor de retorno a ser bloqueado na chamada e receber o resultado.

schema

Retorna os nomes de campos de mapeamento do esquema para a lista de tipos compatíveis.

Válido apenas para índices retornados pelo método search.get_indexes.

search(*args, **kwds)source

Procura o índice dos documentos que correspondem à consulta.

Por exemplo, o fragmento de código a seguir solicita uma pesquisa de documentos em que "first" ocorre no assunto e "good" ocorre em qualquer lugar, retornando, no máximo, 20 documentos, começando a pesquisa por "cursor token", retornando outro cursor para a resposta, classificando por assunto em ordem decrescente, retornando os campos de autor, assunto e resumo, bem como um conteúdo de campo em formato de snippet.

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

O fragmento de código a seguir mostra como usar um cursor de resultados

cursor = results.cursor para o resultado nos resultados:

# resultado do processo

results = index.search(

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

O fragmento de código a seguir mostra como usar um cursor per_result

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

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

cursor = None para o resultado nos resultados:

cursor = result.cursor

results = index.search(

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

Consulte http://developers.google.com/appengine/docs/python/search/query_strings para mais informações sobre a sintaxe de consulta.

Parâmetros

query: a consulta de correspondência com os documentos no índice.

Kwargs:

deadline: prazo para chamada RPC em segundos. Se None, use o padrão.

Retorna

Um SearchResults que contém uma lista de documentos correspondentes, número retornado e número correspondente à consulta.

Gera
  • TypeError: caso algum dos parâmetros tenha tipos inválidos ou um atributo desconhecido seja passado.

  • ValueError: caso algum dos parâmetros tenha valores inválidos (por exemplo, um prazo negativo).

search_async(*args, **kwds)source

Pesquisa de maneira assíncrona o índice de documentos correspondentes à pesquisa.

Idêntico a search(), exceto por retornar um futuro. Chame get_result() no valor de retorno a ser bloqueado na chamada e receber o resultado.

source

Retorna a origem do índice.

Obsoleto: desde a versão 1.7.6, "source" não está mais disponível.

storage_limit

O armazenamento máximo permitido para esse índice, em bytes.

Retorna None para índices não recebidos de search.get_indexes.

storage_usage

O número aproximado de bytes usados por esse índice.

O número pode estar um pouco desatualizado, porque talvez não reflita os resultados de alterações recentes.

Retorna None para índices não recebidos de search.get_indexes.

exception google.appengine.api.search.search.InternalErrorsource

Bases: google.appengine.api.search.search.Error

Indica que uma chamada na API de pesquisa falhou no back-end interno.

exception google.appengine.api.search.search.InvalidRequestsource

Bases: google.appengine.api.search.search.Error

Indica que uma solicitação inválida foi feita na API de pesquisa pelo cliente.

class google.appengine.api.search.search.MatchScorersource

Bases: object

Atribui uma pontuação do documento com base na frequência do termo.

Se você adicionar um MatchScorer a um SortOptions, como neste código:

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

Os documentos serão classificados em ordem decrescente de pontuação. As pontuações serão positivas. Se você quiser classificar em ordem crescente, use o seguinte código:

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

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

Nesse caso, as pontuações serão negativas.

class google.appengine.api.search.search.NumberField(name, value=None)source

Bases: google.appengine.api.search.search.Field

Um campo que tem um valor numérico.

O seguinte exemplo mostra um campo numérico chamado "size":

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

class google.appengine.api.search.search.NumberFacet(name, value=None)source

Bases: google.appengine.api.search.search.Facet

Um atributo de valor numérico.

No exemplo a seguir, há um atributo numérico chamado wine_vintage:

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

class google.appengine.api.search.search.OperationResult(code, message=None, id=None)source

Bases: object

Representa o resultado da operação individual de um índice em lote ou de remoção.

Esta é uma classe abstrata.

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

Retorna o código que indica o status da operação.

id

Retorna o código do objeto em que a operação foi executada.

message

Retornará uma mensagem de erro associada se a operação estiver com erro.

exception google.appengine.api.search.search.PutError(message, results)source

Bases: google.appengine.api.search.search.Error

Indica que ocorreu algum erro na indexação de um dos objetos solicitados.

results

Retorna a lista PutResult correspondente a objetos indexados.

class google.appengine.api.search.search.PutResult(code, message=None, id=None)source

Bases: google.appengine.api.search.search.OperationResult

O resultado da indexação de um único objeto.

class google.appengine.api.search.search.Query(*args, **kwds)source

Bases: object

Representa uma solicitação no serviço de pesquisa para consultar o índice.

enable_facet_discovery

Retornará verdadeiro se a descoberta do atributo estiver ativada.

facet_options

Retorna FacetOptions que define o processamento de atributos.

facet_refinements

Retorna a lista de refinamentos de atributos.

options

Retorna QueryOptions que define o pós-processamento nos resultados da pesquisa.

query_string

Retorna a string de consulta a ser aplicada ao serviço de pesquisa.

return_facets

Retorna a lista de atributos específicos a serem incluídos com o resultado.

exception google.appengine.api.search.search.QueryErrorsource

Bases: google.appengine.api.search.search.Error

Ocorreu um erro durante a análise de uma string de entrada de consulta.

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

Bases: object

Opções de resultados de pós-processamento para uma consulta.

As opções incluem a capacidade de classificar resultados, controlar quais campos do documento retornar, produzir snippets de campos e calcular e classificar por expressões de pontuação complexas.

Se quiser acessar aleatoriamente as páginas de resultados da pesquisa, você poderá usar um desvio:

# recuperar o primeiro conjunto de resultados page_size = 10 results = index.search(Query(query_string=’some stuff’,

QueryOptions(limit=page_size))

# calcular as páginas pages = results.found_count / page_size

# o usuário escolhe a página e depois um ajuste nos resultados next_page = ith * page_size

# recuperar os resultados da pesquisa dessa página results = index.search(Query(query_string=’some stuff’,

QueryOptions(limit=page_size, offset=next_page))

cursor

Retorna o cursor da consulta.

ids_only

Retorna se é necessário retornar apenas os códigos de documentos nos resultados da pesquisa.

limit

Retorna um limite no número de documentos a retornar nos resultados.

number_found_accuracy

Retorna o requisito de precisão mínima de SearchResults.number_found.

offset

Retorna o número de documentos nos resultados da pesquisa que serão ignorados.

returned_expressions

Retorna um iterável de FieldExpression a retornar nos resultados.

returns_fields

Retorna um iterável de nomes de campos a retornar nos resultados da pesquisa.

snippeted_fields

Retorna um iterável de nomes de campos a transformar em snippet e retornar nos resultados.

sort_options

Retorna um SortOptions.

class google.appengine.api.search.search.RescoringMatchScorersource

Bases: google.appengine.api.search.search.MatchScorer

Atribui uma pontuação do documento com base na frequência do termo, ponderada por partes dele.

Caso você adicione um RescoringMatchScorer a um SortOptions como no seguinte código:

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

Os documentos serão classificados em ordem decrescente de pontuação. As pontuações serão positivas. Se você quiser classificar em ordem crescente, use o seguinte código:

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

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

Nesse caso, as pontuações serão negativas.

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

Bases: google.appengine.api.search.search.Document

Representa um documento classificado retornado de uma pesquisa.

cursor

Um cursor associado a um resultado, um ponto de partida de pesquisa continuada.

Para fazer esse cursor aparecer, defina Index.cursor_type como Index.RESULT_CURSOR. Do contrário, ele será None.

Retorna

O cursor do resultado.

expressions

A lista de campos calculados do resultado da avaliação de expressão.

Por exemplo, caso uma solicitação tenha

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

o que significa calcular um campo de snippet que contém snippets HTML extraídos da correspondência da consulta "good story" no campo "content". Isso significa que um campo como o seguinte será retornado nas expressões para o resultado da pesquisa:

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

Retorna

Os campos calculados.

sort_scores

Obsoleto: a lista de pontuações atribuídas durante a avaliação da classificação.

A maneira correta de recuperar uma pontuação é usar "_score" em uma FieldExpression.

Retorna

A lista de pontuações de classificação numérica.

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

Bases: object

Representa o resultado da execução de uma solicitação de pesquisa.

cursor

Retorna um cursor que pode ser usado para continuar a pesquisa a partir do último resultado.

Isso corresponde ao uso de ResultsCursor em QueryOptions. Do contrário, ele será None.

Retorna

O cursor de resultados.

facets

Retorna a lista de FacetResults encontrados em documentos correspondentes.

number_found

Retorna o número de documentos encontrados para a pesquisa.

Trata-se de uma aproximação, e não de uma contagem exata. Se o parâmetro QueryOptions.number_found_accuracy estiver definido como 100, por exemplo, number_found <= 100 será exato.

Retorna

O número de documentos encontrados.

results

Retorna a lista de ScoredDocuments correspondentes à consulta.

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

Bases: object

Classifique por uma expressão de pontuação especificada pelo usuário.

Por exemplo, o exemplo a seguir classificará documentos em um campo numérico chamado "length" em ordem crescente, atribuindo um valor padrão de sys.maxint para documentos que não especifiquem um campo "length".

SortExpression(expression=’length’,

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

O exemplo a seguir classificará documentos em um campo de data chamado "published_date" em ordem decrescente, atribuindo um valor padrão de 1999-12-31 para documentos que não especifiquem um campo "published_date".

SortExpression(expression=’published_date’,

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

O exemplo a seguir classificará documentos em um campo de texto chamado "subject" em ordem decrescente, atribuindo um valor padrão de "" para documentos que não especifiquem um campo "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

Retorna um valor padrão para a expressão caso nenhum valor seja calculado.

direction

Retorna a direção para classificar a expressão: ASCENDING ou DESCENDING.

expression

Retorna a expressão para classificação.

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

Bases: object

Representa uma classificação mulitdimensional de documentos.

O seguinte código mostra como classificar documentos com base na classificação do produto em ordem decrescente e, em seguida, o produto mais barato dentre os que têm classificação semelhante, classificando 1.000 documentos, no máximo:

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

Uma lista de SortExpression que especifica uma classificação multidimensional.

limit

Retorna o limite para o número de documentos para pontuação ou classificação.

match_scorer

Retorna um rótulo de correspondência para marcar documentos.

class google.appengine.api.search.search.TextField(name, value=None, language=None)source

Bases: google.appengine.api.search.search.Field

Um campo que tem conteúdo de texto.

O seguinte exemplo mostra um campo de texto chamado "signature" com conteúdo em polonês:

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

exception google.appengine.api.search.search.Timeoutsource

Bases: google.appengine.api.search.search.Error

Indica que não foi possível concluir uma chamada na API de pesquisa antes do prazo.

class google.appengine.api.search.search.TokenizedPrefixField(name, value=None, language=None)source

Bases: google.appengine.api.search.search.Field

Um campo correspondente a pesquisas em prefixos dos termos individuais.

O seguinte exemplo mostra um campo de prefixo tokenizado chamado "title":

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

exception google.appengine.api.search.search.TransientErrorsource

Bases: google.appengine.api.search.search.Error

Indica que uma chamada na API de pesquisa falhou, mas uma nova tentativa pode ser bem-sucedida.

class google.appengine.api.search.search.UntokenizedPrefixField(name, value=None, language=None)source

Bases: google.appengine.api.search.search.Field

Um campo correspondente a pesquisas em prefixos do título inteiro.

O seguinte exemplo mostra um campo de prefixo sem token chamado "title":

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

class google.appengine.api.search.search.VectorField(name, value=None)source

Bases: google.appengine.api.search.search.Field

Um campo de vetor que pode ser usado em uma expressão de produto de ponto.

O seguinte exemplo mostra um campo de vetor chamado "scores":

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

Isso pode ser usado em uma expressão de classificação/filtro da seguinte maneira:

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

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Ambiente padrão do App Engine para Python