Todos os produtos
Search
Central de documentação

Tablestore:O que fazer quando o erro "length of field value is longer than 32 for the [WILDCARD_QUERY] query" ocorre ao usar a consulta curinga?

Última atualização: Jun 23, 2026

Quando a exceção "length of field value is longer than 32 for the [WILDCARD_QUERY] query" ocorre durante uma consulta curinga, você pode encurtar a string de consulta ou usar a consulta de correspondência de frase.

Descrição do problema

A seguinte exceção ocorre ao consultar dados usando a consulta curinga:

length of field value is longer than 32 for the [WILDCARD_QUERY] query

Causa

A string que contém caracteres curinga excede o limite de 32 caracteres.

Soluções

Encurtar a string de consulta

Encurte a string de consulta para garantir que seu comprimento não exceda 32 caracteres.

Consulta curinga baseada em tokenização

O índice de pesquisa oferece suporte à consulta curinga baseada em tokenização para implementar consultas difusas mais eficientes. Ao usar a consulta curinga baseada em tokenização, o comprimento da string de consulta não é limitado. No entanto, o conteúdo original é limitado a um máximo de 1.024 caracteres. O conteúdo que exceder esse limite será automaticamente truncado, e apenas os primeiros 1.024 caracteres serão mantidos.

  1. Modificar dinamicamente o esquema do índice de pesquisa.

    Com base na avaliação do impacto nos negócios, modifique a coluna de destino ou adicione uma coluna virtual, defina o tipo como Text e defina o método de tokenização como tokenização difusa. Para obter mais informações, consulte Modificar dinamicamente o esquema do índice de pesquisa e Colunas virtuais.

  2. Usar a consulta de correspondência de frase (MatchPhraseQuery).

    Para obter mais informações, consulte Consulta curinga baseada em token.

Cenário de consulta curinga SQL

Ao usar instruções SQL para consultar dados, se a tabela de dados tiver um índice de pesquisa que inclua todas as colunas de dados envolvidas na instrução SQL, o mecanismo SQL selecionará automaticamente esse índice de pesquisa para consultas de dados. Nesse caso, ao executar consultas curinga SQL (como o operador LIKE combinado com o caractere curinga %), o comprimento da string de consulta também é limitado (máximo de 32 caracteres).

Você pode resolver esse problema por meio das seguintes operações.

  1. Modificar dinamicamente o esquema do índice de pesquisa.

    Com base na avaliação do impacto nos negócios, modifique a coluna de destino ou adicione uma coluna virtual, defina o tipo como Text e defina o método de tokenização como tokenização difusa. Para obter mais informações, consulte Modificar dinamicamente o esquema do índice de pesquisa e Colunas virtuais.

  2. Criar uma tabela de mapeamento para o índice de pesquisa.

    O exemplo a seguir cria uma tabela de mapeamento chamada example_table__example_table_index para o índice de pesquisa example_table_index da tabela de dados example_table.

    CREATE TABLE `example_table__example_table_index`(
        `pk` MEDIUMTEXT,
        `attr` MEDIUMTEXT,
        `attr_virtual` MEDIUMTEXT #virtual column
    )
    ENGINE='searchindex',
    ENGINE_ATTRIBUTE='{"index_name":"example_table_index","table_name":"example_table"}';
  3. Usar a consulta de correspondência de frase (TEXT_MATCH_PHRASE) em instruções SQL.

    O exemplo a seguir consulta dados na tabela de mapeamento do índice de pesquisa example_table__example_table_index onde o valor da coluna virtual attr_virtual corresponde à string "tablestore is super cool!".

    select * from example_table__example_table_index where TEXT_MATCH_PHRASE(attr_virtual, "tablestore is super cool!");