Todos os produtos
Search
Central de documentação

Tablestore:Summary and highlighting

Última atualização: Aug 20, 2026

Use o Tablestore SDK for Python para retornar fragmentos de campos Text que contenham tokens correspondentes e marcar esses tokens.

Pré-requisitos

Instale o Tablestore SDK for Python e inicialize um cliente.

O recurso de resumo e destaque exige a versão 6.0.0 ou posterior do SDK. Recomendamos o uso da versão mais recente.

Ao criar o search index, defina enable_highlighting como True para o campo Text desejado.

Descrição

O recurso de resumo e destaque extrai fragmentos de texto ao redor dos tokens correspondentes e marca esses tokens com tags de abertura e fechamento. Esse recurso é compatível apenas com campos Text. Em uma consulta, use SearchQuery.highlight para especificar os campos e as configurações de fragmento.

A versão 6.4.6 do Tablestore SDK for Python oferece suporte a resumo e destaque para TermQuery, TermsQuery, PrefixQuery, WildcardQuery, RangeQuery, BoolQuery, MatchQuery e MatchPhraseQuery. Para BoolQuery, é possível destacar campos usados por tipos de subconsultas compatíveis. No caso de NestedQuery, configure o destaque das linhas filhas correspondentes em InnerHits.highlight. Para obter mais informações, consulte Nested query.

Nota

Com MatchQuery ou MatchPhraseQuery, múltiplos pares de tags de abertura e fechamento podem marcar um token correspondente. O MatchPhraseQuery não oferece suporte a destaque para campos Text que usam o analisador semântico máximo. Além disso, o limite de um fragmento pode dividir um token correspondente e impedir seu destaque.

O exemplo a seguir consulta o token tablestore no campo description e marca os tokens correspondentes nos fragmentos com <b> e </b>.

query = MatchQuery("description", "tablestore")
highlight = Highlight(
    [
        HighlightParameter(
            "description",
            number_of_fragments=1,
            fragment_size=100,
            pre_tag="<b>",
            post_tag="</b>",
        )
    ],
    HighlightEncoder.PLAIN_MODE,
)
response = client.search(
    "example_table",
    "example_index",
    SearchQuery(query, limit=10, highlight=highlight),
)
for hit in response.search_hits:
    for field in hit.highlight_result.highlight_fields:
        print(field.field_name, field.field_fragments)

Parâmetros

search_query.highlight é do tipo Highlight. A tabela a seguir usa caminhos completos para descrever os dois níveis de configuração de Highlight e HighlightParameter.

Nome

Tipo

Descrição

highlight_parameters (obrigatório)

list[HighlightParameter]

Configurações de fragmentos destacados para os campos. Cada campo deve ter o destaque ativado e participar de um tipo de consulta compatível com esse recurso.

highlight_encoder (opcional)

HighlightEncoder

Modo de codificação do texto do fragmento. O modo PLAIN_MODE (padrão) não codifica o texto. O modo HTML_MODE faz escape dos caracteres <, >, ", ' e / como &lt;, &gt;, &quot;, &#x27; e &#x2F;, respectivamente, sendo adequado para exibição na web.

highlight_parameters[].field_name (obrigatório)

str

Nome do campo Text para o qual serão retornados fragmentos e destaques.

highlight_parameters[].number_of_fragments (opcional)

int

Número máximo de fragmentos a retornar para um campo. Recomenda-se o valor 1.

highlight_parameters[].fragment_size (opcional)

int

Comprimento alvo do fragmento. Valor padrão: 100. O comprimento real pode variar.

highlight_parameters[].pre_tag (opcional)

str

Tag de abertura para tokens correspondentes. Valor padrão: <em>. Especifique este parâmetro junto com post_tag. A tag pode conter <, >, ", ', /, a-z, A-Z e 0-9.

highlight_parameters[].post_tag (opcional)

str

Tag de fechamento para tokens correspondentes. Valor padrão: </em>. Especifique este parâmetro junto com pre_tag. A tag pode conter <, >, ", ', /, a-z, A-Z e 0-9.

highlight_parameters[].fragments_order (opcional)

HighlightFragmentOrder

Ordem de classificação dos fragmentos. A opção TEXT_SEQUENCE (padrão) classifica pela posição original no texto, enquanto SCORE classifica pela pontuação de relevância do token.

Resposta

Os resultados de destaque estão disponíveis em SearchResponse.search_hits[].highlight_result e têm a seguinte estrutura.

Campo

Tipo

Descrição

search_hits

list[SearchHit]

Os resultados da busca.

search_hits[].row

Row

A linha correspondente.

search_hits[].highlight_result

HighlightResult

Resultado do resumo e destaque para a linha. O valor estará vazio se nenhum destaque for retornado.

search_hits[].highlight_result.highlight_fields

list[HighlightField]

Destaques para os campos da linha.

highlight_fields[].field_name

str

Nome do campo destacado.

highlight_fields[].field_fragments

list[str]

Fragmentos destacados. As tags configuradas marcam os tokens correspondentes.

Resposta compatível com tupla

A partir da versão 5.2.0 do Tablestore SDK for Python, as APIs de busca retornam objetos de resposta em vez de tuplas. As versões 5.1.0 e anteriores retornam tuplas diretamente. Na versão 5.2.1 e posteriores, chame SearchResponse.v1_response() para obter uma tupla compatível com versões anteriores. Para novos códigos, acesse os atributos de SearchResponse diretamente para evitar erros de desempacotamento caso novos campos sejam adicionados à resposta.

(
    rows,
    next_token,
    total_count,
    is_all_succeed,
    agg_results,
    group_by_results,
    search_hits,
) = response.v1_response()