Todos os produtos
Search
Central de documentação

OpenSearch:Perguntas frequentes sobre o uso do produto

Última atualização: Oct 19, 2026

Sistema

O que é o OpenSearch?

O OpenSearch é um serviço de busca baseado em nuvem, projetado para dados estruturados. Com a plataforma que oferecemos, você pode obter facilmente um serviço de busca de alta qualidade, escalável e personalizável, sem precisar lidar com os detalhes técnicos da busca. Tudo o que você precisa fazer é concluir as configurações relevantes e carregar seus dados. Em seguida, pode obter resultados de busca por meio de operações de API. Também fornecemos SDKs para as principais linguagens de programação. Para as linguagens de SDK suportadas, consulte o centro de downloads no console de gerenciamento.

Quais benefícios o OpenSearch pode me trazer?

O OpenSearch é um serviço de busca baseado em nuvem e altamente escalável. Ele dimensiona automaticamente os recursos de hardware necessários com base no volume dos seus dados, permitindo que você tenha um serviço de busca sem nenhum investimento em hardware. O recurso de busca também não sobrecarrega seus servidores existentes. Resultados de busca rápidos e de alta qualidade atendem melhor às necessidades de informação dos seus usuários, o que aumenta a fidelidade, o tráfego e a popularidade do seu produto. Em última análise, isso traz um valor econômico considerável para você.

Quantas solicitações de busca posso enviar?

Atualmente, não há limite imposto. Configure o valor manualmente no console de acordo com seu uso real. Solicitações com QPS muito alto devem ser enviadas e são revisadas manualmente. Envie essa solicitação o mais cedo possível. Se o QPS for muito alto, o sistema fará ajustes internos automaticamente, o que pode levar vários dias.

Qual é a latência das solicitações de busca?

A latência real é bastante afetada pela complexidade da consulta e pelo número de documentos correspondentes. Faça testes com seus próprios dados com base no seu cenário real.

Como o OpenSearch é cobrado?

Para mais informações, consulte Visão geral de cobrança. Após a revisão do modelo de cobrança, dois métodos de cobrança estão disponíveis: o método antigo baseado em armazenamento e QPS, e o novo método baseado em unidades de computação lógica (LCUs). (Observação: se você usar o método de cobrança antigo, o consumo de LCU mostrado no monitoramento não está relacionado à cobrança e pode ser usado apenas como dados de referência para o desempenho de busca.)

Processo

O que é uma aplicação e como criar uma?

Uma aplicação é um conjunto de documentos pesquisáveis que compartilham o mesmo esquema de aplicação. Você pode definir tabelas e tipos de campo para uma aplicação, configurar atributos de busca, carregar dados e obter resultados de busca. Você pode criar, gerenciar e excluir aplicações no console ou por meio de operações da Web API.

Qual é a finalidade de "Index To" ao definir um esquema de aplicação?

Ao consultar palavras-chave em uma cláusula de consulta, você deve especificar o índice a ser consultado, que é o campo de índice definido por "Index To" no esquema da aplicação. Um campo de índice contém um ou mais campos de origem. Depois que um campo de índice é definido, o mecanismo cria listas invertidas que mapeiam termos de consulta para documentos durante a construção do índice. Durante as consultas, os documentos podem ser localizados rapidamente com base nos termos de consulta, o que melhora significativamente o desempenho da consulta.

Por exemplo, um fórum tem dois requisitos de busca: 1. busca abrangente (título, conteúdo e autor); 2. busca por título. Os campos de origem são title, body e author. Você pode indexar title, body e author no campo default, e indexar title no campo title_search. Então, query=default:'palavra-chave' atende ao requisito 1, e query=title_search:'palavra-chave' atende ao requisito 2.

O que é um modelo (template)?

Um modelo é um contêiner de aplicação que criamos para dados típicos da Internet, a fim de reduzir ainda mais sua carga de trabalho. Ele inclui o esquema da aplicação, métodos de ordenação e outras configurações. Você pode ver os detalhes dos modelos disponíveis atualmente ao criar uma aplicação. Adicionaremos mais modelos para sua escolha no futuro.

Posso modificar o esquema de aplicação de um modelo após selecioná-lo?

Sim. Acesse Gerenciamento de Aplicações > Detalhes > Alteração Offline para fazer a alteração. Para etapas detalhadas, consulte Alteração offline

Como faço para carregar dados em uma aplicação?

Se você usar o ApsaraDB RDS, MaxCompute (anteriormente ODPS) ou PolarDB, poderá configurar as informações da instância relevante no console para habilitar a sincronização automática. Outros usuários podem carregar dados por meio da API de upload de dados ou do recurso de upload no console de gerenciamento.

Quantos documentos posso carregar?

Não há limite máximo imposto para o número de documentos carregados em uma aplicação. Você pode configurar a cota de capacidade de documentos no console. Para detalhes, consulte a seção Gerenciamento de Aplicações -> Cotas e Cobrança. Assim como o QPS máximo, solicitações de grande capacidade são revisadas manualmente. Essa cota afeta a cobrança, portanto configure-a de acordo com suas necessidades reais.

Como faço para excluir uma aplicação?

Na ferramenta de gerenciamento, clique no nome do índice. Na página de detalhes do índice, clique em "Excluir Aplicação" e confirme no prompt do sistema para concluir a exclusão.

Como faço para excluir documentos de uma aplicação?

Você pode excluir documentos específicos definindo a operação de exclusão por meio do SDK nos dados carregados. Também pode excluir documentos específicos na página de Teste de Busca do console.

Como faço para limpar uma aplicação?

Se precisar manter o nome da aplicação, você deve excluir os documentos da aplicação um por um para limpar o índice. Se não precisar manter o nome da aplicação, pode criar uma nova aplicação e copiar as configurações relevantes para ela. Um recurso independente de limpeza de dados será fornecido no futuro. Atualmente, a Advanced Edition oferece suporte a tarefas de limpeza agendadas que retêm documentos por 7 a 180 dias.

Importação de dados

O OpenSearch pode ser usado com o serviço de banco de dados da Alibaba Cloud, o ApsaraDB RDS?

Sim. Depois de configurar as informações da instância RDS na fonte de dados da aplicação, as operações no RDS são automaticamente sincronizadas com o OpenSearch. (Após a conclusão da configuração, você deve importar os dados e reconstruir o índice para importar os dados completos atuais para o sistema.)

Quais produtos da Alibaba Cloud podem ser conectados diretamente ao OpenSearch?

Atualmente, ApsaraDB RDS, MaxCompute (anteriormente ODPS) e PolarDB são suportados. Mais produtos serão integrados no futuro.

Qual é o formato de documento para uploads por meio da API ou SDK?

Atualmente, o formato JSON é suportado. Consulte os arquivos de exemplo fornecidos na página de modelos ou a seção de processamento de dados da documentação da API.

Qual é a diferença entre os comandos add e update?

Se valores não forem especificados para alguns campos em um documento carregado usando add ou update, o add substituirá esses campos pelos valores padrão, enquanto o update os deixará inalterados.

Busca

Quais recursos de busca o OpenSearch oferece?

O OpenSearch oferece suporte a busca em tipos básicos como texto e números, e fornece recursos de consulta, filtragem, ordenação, estatísticas e agregação. Também oferece modelos de dados típicos, esquemas de índice personalizados, ordenação personalizada de resultados de busca, análise de consulta personalizada (como sinônimos e correção ortográfica) e sugestões suspensas.

Como faço para obter todos os documentos?

Isso não é suportado. Um mecanismo de busca concentra-se em retornar os melhores resultados no menor tempo possível, portanto nenhum recurso é fornecido para visualizar todos os documentos. O OpenSearch limita o número máximo de resultados retornados (para detalhes, consulte os limites do sistema). Mesmo com paginação, você só pode paginar pelo número de resultados retornados indicado por viewtotal.

Por que um tipo Array é retornado como string em vez de um array nos resultados de consulta?

Nos resultados de busca, os valores do tipo Array são separados por \t.

Posso especificar o método de análise e o dicionário no OpenSearch?

A análise de texto é usada apenas em dois lugares: durante a construção do índice e durante as consultas. Atualmente, os dicionários são configurados globalmente para todo o sistema, e dicionários definidos pelo usuário não são suportados. No entanto, o OpenSearch oferece suporte a vários métodos de análise, incluindo analisadores personalizados. Para detalhes, consulte "Tipos de campo e tipos de analisador" no "Guia do Usuário".

Um documento contém "吃饭了" ("já comeu"). Por que o documento não é retornado quando busco "吃饭了吗" ("você já comeu?")? (Nota: Os caracteres chineses neste exemplo são mostrados como sequências de escape Unicode. Decodifique-os nos caracteres chineses reais antes de inseri-los em uma consulta real.)

Isso ocorre porque, atualmente, um documento é retornado somente se todos os termos produzidos pela análise do OpenSearch forem correspondidos. A consulta anterior query=default:'吃饭了吗' é equivalente a query=default:'吃饭' AND default:'了' AND default:'吗'. O documento não contém o termo "吗", portanto o documento não é recuperado.

Nesse caso, você pode configurar o recurso de "peso de termos" da análise de consulta. Esse recurso aplica a operação RANK a termos menos importantes para resolver problemas de recuperação em consultas de cauda longa. Por exemplo, a consulta anterior é reescrita automaticamente como query=default:'吃饭' RANK default:'了' RANK default:'吗'. Como resultado, o documento anterior é recuperado e classificado à frente dos documentos que contêm apenas "吃饭".

Pesquisei por "mx" e "player", e um documento contém "mxplayer". Por que o documento não é recuperado?

Para o inglês, a menor granularidade de análise é a palavra. "mxplayer" no documento anterior é tratado como um único termo, portanto pesquisar por "mx", "player" ou "mx player" não consegue recuperar documentos que contenham "mxplayer".

O OpenSearch oferece suporte a busca em idiomas menos comuns?

Atualmente, o sistema oferece suporte a análise semântica apenas para chinês e inglês. Outros idiomas que usam espaços como delimitadores, como português e russo, são suportados para correspondência básica de palavras, mas não para semântica (frases). Idiomas que não usam espaços como delimitadores, como japonês e coreano, não são suportados. Analisadores para tailandês e vietnamita já estão disponíveis. Para detalhes, consulte Analisadores de texto.

Como faço para separar produtos do mesmo membro nos resultados de busca, de modo que apenas o produto mais relevante seja exibido para cada membro, e depois exibir o número total de entradas?

Você pode combinar a cláusula aggregate com a cláusula distinct. A cláusula distinct dispersa os resultados da mesma categoria, e a cláusula aggregate coleta estatísticas sobre os resultados da mesma categoria.

Existe um mecanismo de cache para buscas?

Os resultados retornados para a mesma consulta dentro de 5 minutos são armazenados em cache. O cache é habilitado por padrão e não pode ser modificado ou desativado.

API e SDK

Qual é o endpoint para enviar dados usando o SDK? O OpenSearch é implantado em várias regiões, e cada região tem um endpoint de API independente. Para detalhes, visualize o endpoint de API nos detalhes da aplicação.

Os dados carregados usando o SDK retornaram OK, mas por que a página mostra erros? Como faço para obter as mensagens de erro?

Um status OK retornado pelo SDK indica apenas que o sistema recebeu os dados. Os erros que ocorrem durante o processamento subsequente dos dados são exibidos nos logs de erro da aplicação no console. Se os dados forem carregados com sucesso, mas não puderem ser encontrados nas buscas, primeiro verifique as informações nos logs de erro, corrija os problemas e importe os dados novamente. Atualmente, nenhuma operação de API está disponível para obter informações do log de erros.

Se o problema persistir, abra um ticket.

Perguntas frequentes sobre destaque

O que significa comprimento de fragmento?

O comprimento de fragmento indica o comprimento máximo de todo o resumo. O destaque é aplicado apenas dentro do comprimento de fragmento.

O que significa ...?

... é o separador entre fragmentos. Por exemplo, se um campo tem comprimento de 1.000, o comprimento de fragmento é 200 e há três fragmentos, os três fragmentos são unidos por .... O destaque é aplicado apenas dentro dos fragmentos, e outro conteúdo não é exibido.