Todos os produtos
Search
Central de documentação

Tablestore:Resumo e destaque

Última atualização: Oct 09, 2026

Ao consultar dados, defina os parâmetros de destaque para que o sistema retorne trechos de texto contendo o termo de pesquisa, destacando-o. O recurso de resumo e destaque é compatível apenas com campos do tipo Text.

Pré-requisitos

Observações

  • O recurso de destaque de consulta está disponível no Software Development Kit (SDK) do Node.js para Tablestore versão 5.5.0 e posteriores. Certifique-se de usar uma versão compatível do SDK. Para mais informações sobre o histórico de versões do SDK do Node.js, consulte Node.js SDK release history.

  • Ao usar o recurso de destaque de consulta com MatchQuery ou MatchPhraseQuery, o termo de pesquisa pode ser destacado com múltiplas pre-tags e post-tags.

  • Se um campo Text usar a tokenização de semântica máxima, o recurso de destaque de consulta não será compatível com MatchPhraseQuery.

  • Um termo de pesquisa pode não ser destacado se o sharding dividir a consulta dentro do texto source.

Parâmetros

Parâmetro

Descrição

highlightEncoder

O método de codificação para o conteúdo original dos fragmentos destacados. Valores válidos:

  • PLAIN_MODE (padrão): o conteúdo original é exibido sem codificação.

  • HTML_MODE: o conteúdo original dos fragmentos destacados passa por escape HTML. Por exemplo, < tem escape para &lt;, > para &gt;, " para &quot;, ' para &#x27; e / para &#x2F;. Este formato é recomendado para exibição na web.

fieldHighlightParams

Os parâmetros de destaque para um campo. Defina este parâmetro apenas para campos incluídos em uma consulta de palavra-chave dentro do SearchQuery.

HighlightParameter

numberOfFragments

O número máximo de fragmentos destacados a serem retornados. Recomendamos definir este valor como 1.

fragmentSize

O comprimento de cada fragmento. Valor padrão: 100.

Importante

O comprimento dos fragmentos retornados pode não ser exatamente igual a este valor.

preTag

A pre-tag para destacar o termo de pesquisa, como <em> ou <b>. O valor padrão é <em>. Personalize a pre-tag conforme necessário. O conjunto de caracteres compatível com preTag inclui < > " ' /, a-z, A-Z e 0-9.

postTag

A post-tag para destacar o termo de pesquisa, como </em> ou </b>. O valor padrão é </em>. Personalize a post-tag conforme necessário. O conjunto de caracteres compatível com postTag inclui < > " ' /, a-z, A-Z e 0-9.

highlightFragmentOrder

A regra de ordenação para fragmentos quando vários fragmentos são retornados para um campo destacado.

  • TEXT_SEQUENCE (padrão): os fragmentos são ordenados pela ordem de aparição no texto.

  • SCORE: os fragmentos são ordenados pelas pontuações das ocorrências do termo de pesquisa.

Exemplo

O exemplo a seguir usa uma match query para recuperar linhas nas quais o campo description contém o termo tablestore. O exemplo envolve os termos correspondentes nos fragmentos retornados com <b> e </b>. O campo description é um campo Text para o qual o resumo e o destaque estão ativados.

client.search({
    tableName: "<TABLE_NAME>",
    indexName: "<SEARCH_INDEX_NAME>",
    searchQuery: {
        offset: 0,
        limit: 10, // To get only the row count without any specific data, set limit to 0. This prevents any rows from being returned.
        query: { // Set the query type to MatchQuery.
            queryType: TableStore.QueryType.MATCH_QUERY,
            query: {
                fieldName: "Col_Text", // Set the column to match.
                text: "hangzhou shanghai" // Set the value to match.
            }
        },
        highlight:{
            highlightEncoder:TableStore.HighlightEncoder.PLAIN_MODE,
            highlightParameters:[
                {
                    fieldName:"Col_Text",
                    preTag: "",
                    postTag: "",
                    fragmentsOrder: TableStore.HighlightFragmentOrder.TEXT_SEQUENCE,
                    fragmentSize: 20,
                    numberOfFragments: 3,
                }
                
            ],
        },
        getTotalCount: true // TotalCount in the results indicates the total number of rows in the table. The default value is false, which means the total count is not returned.
    },
    columnToGet: { // The columns to return. Valid values: RETURN_SPECIFIED (return custom columns), RETURN_ALL (return all columns), RETURN_ALL_FROM_INDEX (return all columns from the search index), and RETURN_NONE (return no columns).
        returnType: TableStore.ColumnReturnType.RETURN_ALL
    }
}, function (err, data) {
    if (err) {
        console.log('error:', err);
        return;
    }
    console.log('success:', JSON.stringify(data.rows, null, 2));
    printSearchHit(data.searchHits, "");
});

/**
 * Print the content of searchHits.
 * @param searchHits The search hits.
 * @param prefix The prefix to add for nested structures to print hierarchical information.
 */
function printSearchHit(searchHits, prefix) {
    TableStore.util.arrayEach(searchHits, function (searchHit) {
        if (searchHit.highlightResultItem != null) {
            console.log(prefix + "Highlight: \n");
            var strBuilder = ""
            for  (const [key,val]  of searchHit.highlightResultItem.highlightFields.entries()) {
                strBuilder += key + ":[";
                strBuilder += val.fragments.join(",") + "]\n";
                console.log(strBuilder);
            }
        }
        for  (const [key,val]  of searchHit.searchInnerHits.entries()) {
            console.log(prefix + "Path: " + key + "\n");
            console.log(prefix + "InnerHit: \n");
            printSearchHit(val.subSearchHits, prefix + "    ");
        }
    });
}

Referências

  • Para mais informações sobre o recurso de destaque de consulta, consulte Summary and highlighting.

  • Para mais informações sobre como usar o recurso de destaque de consulta com um campo aninhado, consulte Nested query.