Todos os produtos
Search
Central de documentação

OpenSearch:Setor de e-commerce

Última atualização: Oct 23, 2026

Este tópico descreve como usar o Alibaba Cloud OpenSearch para criar um protótipo simples de pesquisa de produtos em cenários de e-commerce. O objetivo é atender aos requisitos do seu negócio para pesquisa de produtos. Um requisito fundamental ao construir uma plataforma de e-commerce é pesquisar diferentes atributos do produto por palavra-chave e filtrar a lista retornada por categoria. O protótipo de pesquisa de produtos criado com o Alibaba Cloud OpenSearch atende perfeitamente a esses requisitos.

Preparar o ambiente

Ao ativar uma conta Alibaba Cloud e acessar o console pela primeira vez, o sistema solicitará a criação de um par de AccessKey antes de prosseguir.

  • Criar e usar aplicativos requer parâmetros de AccessKey. Os parâmetros de AccessKey da conta Alibaba Cloud não podem ficar em branco.

  • Depois de criar os parâmetros de AccessKey para a conta Alibaba Cloud, também é possível criar um par de AccessKey para um usuário RAM e usá-lo para acesso. Para conceder as permissões de acesso necessárias ao usuário RAM, consulte Access authorization rules.

Arquitetura básica

A figura a seguir mostra a arquitetura do sistema do protótipo:0

Criar um aplicativo

  1. Acesse o console do OpenSearch. No painel de navegação à esquerda, clique em Instance Management. Na página Instance Management, clique em Create Instance no canto superior esquerdo.

No canto superior esquerdo da página, selecione OpenSearch Industry Algorithm Edition como a edição do produto e escolha a região de destino na barra de navegação superior.

  1. Selecione um tipo de aplicativo.

Este tópico baseia-se em um cenário de e-commerce que envolve mapeamento de relacionamentos entre múltiplas tabelas. Portanto, selecione o tipo Advanced application that supports simple multi-table JOIN logic. Para obter mais informações sobre os tipos de aplicativo, consulte OpenSearch application types.

  1. Especifique as informações do aplicativo.

Os parâmetros usados neste tutorial são os seguintes:

  • Defina Product Version como Industry Algorithm Edition.

  • Defina Product Type como Pay-as-you-go.

  • Defina Region and Zone como China (Hangzhou).

  • Defina Industry Type como E-commerce.

  • Defina Cluster Preference como Exclusive Cluster - General-purpose.

Tipo de produto: O sistema suporta os modelos de faturamento por assinatura (pré-pago) e pagamento conforme o uso (pós-pago). Para obter mais informações sobre as diferenças, consulte Billing methods and pricing. Região e zona: O OpenSearch está disponível atualmente nas seguintes regiões:

  • China continental e Hong Kong: China (Shenzhen), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hangzhou), China (Shanghai) e China (Hong Kong)

  • Ásia-Pacífico: Singapore

  • Europa e Américas: Germany (Frankfurt) e US (Virginia)

Nome do aplicativo: O nome do aplicativo pode conter dígitos, letras e sublinhados (_), deve começar com uma letra e ter até 30 caracteres. Nota: O nome do aplicativo não pode ser alterado após a criação do aplicativo. Tipo de aplicativo: Avançado ou Padrão. Especificações: O OpenSearch suporta atualmente as especificações de uso geral compartilhado, computação compartilhada, armazenamento compartilhado, uso geral exclusivo, computação exclusiva e armazenamento exclusivo. Para obter mais informações, consulte Billing methods and pricing. Capacidade de armazenamento e recursos de computação: Especifique esses parâmetros com base nas suas necessidades reais. A estimativa dos recursos de computação segue a fórmula: Número de LCUs = QPS × LCUs consumidos por uma única consulta. Para determinar os LCUs de uma única consulta, adquira primeiro um aplicativo de uso geral compartilhado. Em seguida, verifique o consumo de LCU usando o recurso de teste de pesquisa.

  1. Configure o aplicativo.

    • Crie manualmente um esquema de aplicativo: Personalize o esquema do aplicativo para criá-lo.

    • Crie um esquema de aplicativo a partir de um modelo: O sistema fornece vários modelos de uso comum por padrão. Também é possível salvar seu próprio esquema de aplicativo como modelo e, em seguida, usar os modelos existentes para criar novos aplicativos rapidamente.

    • Fazer upload de um documento para gerar um esquema de aplicativo: Faça upload de um arquivo de dados existente (somente o formato JSON é suportado). O sistema analisa automaticamente o arquivo e cria um esquema de aplicativo inicial. (Observe que é necessário redefinir configurações como os tipos de campo.)

    • Crie um esquema de aplicativo a partir de uma fonte de dados: Este método é adequado para cenários em que os dados são sincronizados a partir de fontes como RDS, MaxCompute (anteriormente ODPS) e PolarDB. Crie rapidamente um esquema de aplicativo inicial com base no esquema da tabela de origem, o que reduz o trabalho manual e a probabilidade de erros. O RDS é usado como exemplo neste tópico. As operações para outras fontes de dados são semelhantes. Para obter mais informações, consulte Configure data sources.

Se usar o Alibaba Cloud ODPS, RDS ou PolarDB, configure diretamente a fonte de dados correspondente no console do OpenSearch. Os dados serão então sincronizados automaticamente com o OpenSearch, de forma simples, conveniente e confiável. Este tópico usa o RDS como exemplo e cria o esquema do aplicativo a partir de uma fonte de dados.

  1. Conecte-se à fonte de dados.

Especifique a configuração do banco de dados: na caixa Connect to Database, insira o RDS Instance ID, Database Name, Username e Password. Em seguida, clique em Connect.

  1. Selecione a fonte de dados.

Na caixa de diálogo Select Data Source, clique na guia RDS e defina Select Database como opensearch (instância conectada: rm-bp1pgu04tn0ia280e). Na seção Select Data Table, adicione product_1 e price_detail_1 à lista de seleção e, em seguida, clique em OK.

  1. Defina o esquema do aplicativo.

O esquema do aplicativo usa a tabela de produtos como tabela primária e a tabela de preços dos produtos como tabela secundária. A chave primária pid da tabela de preços dos produtos é associada à chave estrangeira id da tabela de produtos.

Ao definir o esquema do aplicativo, a tabela primária product_1 contém os seguintes 15 campos:

  • category_name (nome da categoria, TEXT)

  • image_url (LITERAL_ARRAY)

  • description (descrição do produto, TEXT)

  • brand_name (nome da marca, TEXT)

  • thumbnail_url (LITERAL_ARRAY)

  • title (título do produto, TEXT)

  • is_onsale (INT)

  • url (LITERAL)

  • brand_id (LITERAL)

  • series_id (LITERAL)

  • sold_num (volume de vendas do produto, INT)

  • category_id (INT)

  • onsale_time (data de cadastro, INT)

  • price (DOUBLE)

  • series_name (TEXT)

Para cada campo, configure a chave primária, o rótulo do campo, o tipo e a junção com tabela externa.

A tabela secundária price_detail_1 (fonte de dados: opensearch:price_detail_1) define os seguintes 4 campos:

  • discount_price, do tipo DOUBLE

  • pid, do tipo INT, definido como chave primária

  • sale_price, do tipo DOUBLE

  • act_price, do tipo DOUBLE

  1. Defina o esquema de índice.

Adicione os campos necessários para pesquisa da tabela de produtos e da tabela de preços dos produtos ao índice chamado "default". Em seguida, pesquise produtos usando query=default:"keyword".

Defina o setor como E-commerce e o modelo como General. A lista de campos de índice contém as seguintes configurações de índice:

  • default (índice padrão): contém os campos category_name, description, brand_name, title, create_by e update_by. O método de análise é Industry - E-commerce General Analysis.

  • category_name (índice de nome de categoria): O método de análise é Industry - E-commerce General Analysis.

  • category_id: O método de análise é Keyword.

  • series_name: O método de análise é Chinese - General Analysis.

  • brand_name: O método de análise é Chinese - General Analysis.

  • id: O método de análise é Keyword.

  • title (índice de título): O método de análise é Industry - E-commerce General Analysis.

  • seller_id: O método de análise é Keyword.

  • brand_id: O método de análise é Keyword.

  • series_id: O método de análise é Keyword.

Nota

Nota: O método de análise afeta diretamente os resultados da pesquisa. Selecione-o com atenção. Para obter mais informações sobre como selecionar um método de análise, consulte a reference documentation.

  1. Configure a fonte de dados.

Aqui, escolha se deseja ativar a sincronização automática de dados. Após a ativação, as atualizações de dados serão sincronizadas automaticamente com o OpenSearch. Na página de configuração da fonte de dados, as tabelas product_1 e price_detail_1 estão associadas à mesma instância RDS, e a opção Automatic Data Synchronization está ativada.

  1. Após a conclusão da configuração, clique em "Complete". Na página de detalhes do aplicativo, você verá que o aplicativo está no estado "Initializing".

    Fazer upload de dados

O exemplo anterior usa o RDS. Durante a construção do índice, a importação completa de dados inicia por padrão. Você pode visualizar o progresso na página de detalhes do aplicativo. Também é possível chamar a API ou o SDK do OpenSearch para fazer upload manual dos dados.

Testar

Após o upload dos dados, comece a testar a pesquisa. Realize consultas no OpenSearch usando a API ou o SDK, ou na página de teste de pesquisa integrada ao console do OpenSearch. (Para obter mais informações, consulte a documentação API e SDK.) Este tópico usa a página de teste de pesquisa no sistema como exemplo. Para obter mais informações sobre a sintaxe de pesquisa, consulte Search API e query clause no guia do desenvolvedor da API. Na página de teste, selecione o aplicativo test_han_indexes (offline) e insira query=title:'裙子' na barra de consulta. Defina a cláusula config como start:0 para visualizar os resultados.

Use também vários recursos personalizados do OpenSearch para obter uma melhor experiência de pesquisa. Por exemplo, é possível resolver problemas como poucos resultados para consultas de cauda longa. Também é possível corrigir a ausência de resultados para termos com erros ortográficos ou entradas em pinyin. Para obter mais informações, consulte Query analysis e Relevance in practice.

Configure a análise de consulta: Esta seção usa a correção ortográfica como exemplo para configurar a análise de consulta.

Etapa 1: Crie um dicionário de intervenção de análise de consulta. 1.1 Na página inicial do console, escolha Search Algorithm Center--Retrieval Configuration--Dictionary Management para acessar a página do dicionário de intervenção de análise de consulta.

1.2 Clique em "Create" no canto superior direito. Na caixa de diálogo Create Query Analysis Dictionary, defina Name como dic_error, configure Dictionary Type como Spelling Correction e, em seguida, clique em "Save". 1.3 Na lista de dicionários, clique em Manage Entries ao lado do dicionário criado para acessar a página do dicionário de intervenção. Na página de gerenciamento, visualize as informações básicas do dicionário e o número de entradas. Adicione entradas clicando em Add Intervention Entry ou Add Entries in Batches. A lista de entradas contém colunas como Query, Corrected Term, Intervention Type, Modified At e Status.

1.4 Clique em Add Intervention Entry para configurar sua entrada de intervenção. Na caixa de diálogo Add Intervention Entry, especifique as seguintes informações:

  • Query: Insira o termo de pesquisa a ser corrigido, por exemplo, 连衣群.

  • Corrected Term: Insira o termo correto, por exemplo, 连衣裙.

  • Intervention Type: Selecione Add ou Block.

1.5 Clique em Save. A entrada será adicionada. Visualize a entrada de intervenção criada na lista de entradas de intervenção. Por exemplo, a consulta incorreta 连衣群 é corrigida para 连衣裙, o tipo de intervenção é "Add" e o status é "Effective". Os botões Add Intervention Entry e Add Entries in Batches ficam na parte superior da página. Filtre as entradas usando a caixa de pesquisa Enter Query.

Etapa 2: No painel de navegação à esquerda do console do OpenSearch, escolha Retrieval Configuration → Query Analysis Configuration para acessar a página de análise de consulta. Etapa 3: Clique em Create para adicionar uma regra ainda não publicada e selecione o dicionário de intervenção dic_error criado. Na caixa de diálogo Add Rule, o aplicativo de destino aparece como test_han_indexes (aplicativo online). Defina o nome da regra como test_error (o nome pode conter dígitos, letras e sublinhados, deve começar com uma letra minúscula e ter até 16 caracteres). Configure o escopo do índice como title e o tipo de setor como E-commerce. Na seção de seleção de recursos, selecione Spelling Correction. Em uso de dicionário, escolha Built-in System Dictionary, defina o dicionário de intervenção como dic_error e, em seguida, clique em OK para criar a regra.

  • Stop words: Filtra palavras sem significado em uma consulta com base no dicionário integrado de stop words. Geralmente, são palavras usadas com muita frequência, mas que não afetam os resultados da consulta, como sinais de pontuação e partículas modais. Por exemplo, para a consulta "奔跑吧!兄弟", após o processamento de stop words, o sinal de pontuação "!" não é usado para recuperação.

  • Spelling correction: Verifica a string de consulta do usuário em busca de erros ortográficos e fornece sugestões de correção. Para erros ortográficos definitivos, a string de consulta original é reescrita diretamente antes da recuperação. Para possíveis erros ortográficos, a string de consulta original ainda é usada para recuperação. Por exemplo, a consulta 阿里爸爸 é reescrita para 阿里巴巴 pela correção ortográfica antes da recuperação.

  • Term weight: Analisa a importância de cada termo em uma consulta e a quantifica como um peso. Termos com pesos menores podem não ser usados para recuperação. Por exemplo, para a consulta "开放搜索好不好", após o processamento de peso do termo, todos os documentos que contêm "开放搜索" podem ser recuperados.

  • Synonyms: Expande a string de consulta com sinônimos com base na biblioteca geral de sinônimos e no modelo semântico fornecidos pelo sistema para ampliar a recuperação. Por exemplo, se a consulta original for "KFC", após o processamento de sinônimos, os documentos que contêm "肯德基" ou "KFC" serão recuperados. (Isso funciona melhor quando usado em conjunto com o recurso de peso do termo.)

  • Named entity recognition: O Reconhecimento de Entidade Nomeada (NER) é um recurso em que o sistema identifica a intenção de cada entidade semântica após a tokenização da consulta. Cada entidade semântica é marcada com um rótulo de tipo correspondente. Entidades com rótulos de baixa importância podem ser omitidas da consulta. Já aquelas com rótulos de alta importância afetam diretamente o treinamento do modelo de previsão de categoria. Por exemplo, para "耐克修身连衣裙", os resultados de NER são "耐克/品牌/中", "修身/款式元素/低" e "连衣裙/品类/高".

Etapa 4: Após a criação da regra, clique em "Search Test" na página de análise de consulta para verificar o efeito. Após a criação, a regra aparece na lista de configuração. O nome será test_error, o tipo Custom, o índice title e o setor E-commerce. O recurso incluído é Spelling Correction, e a coluna Actions disponibiliza Search Test, Configure e Delete. Na página de teste de pesquisa, selecione o índice correspondente, defina o parâmetro qp=test_error, insira a consulta title:'连衣群' (um erro ortográfico intencional) e clique em Search. O sistema exibirá uma mensagem semelhante a "以下是查询 连衣裙 的结果,仍然搜: 连衣群". O termo de consulta real será corrigido automaticamente para (title:"连衣裙"), e os produtos que correspondem a 连衣裙 serão retornados.

Etapa 5: Após a conclusão da depuração, retorne à página de análise de consulta, alterne para a "Index View" e defina a regra como a análise de consulta padrão. Após a configuração, a nova regra aparece na lista. O índice será title e a análise [Default]test_error (vermelho indica não publicada). A coluna Default mostra "Yes", o tipo é Custom e o recurso é Spelling Correction. Clique em Cancel Default Rule na coluna Actions.

Configure expressões de classificação: As expressões de classificação permitem personalizar a classificação dos resultados da pesquisa para um aplicativo. Classifique os resultados especificando uma expressão na solicitação de consulta. Para obter mais informações, consulte Search relevance configuration.

Etapa 1: Na página inicial do aplicativo, escolha Sort Configuration → Policy Management para acessar a página de gerenciamento de classificação de resultados de pesquisa.

Etapa 2: Clique em Create no canto superior direito para adicionar uma nova classificação básica (classificação aproximada).

Na configuração básica, selecione o Target Application e seu ambiente. Insira um Policy Name (1 a 30 caracteres, com letras, dígitos e sublinhados) e defina Type como Expression. Em seguida, clique em Next. Na etapa de configuração de classificação, defina Scoring Feature como static_bm250, configure Weight como 1 e, em seguida, clique em Complete. A classificação básica (classificação aproximada) causa grande impacto no desempenho, portanto, use os campos mais representativos sempre que possível. Neste exemplo, a pontuação é configurada com base na pontuação de texto e na atualização do documento.

Etapa 3: Adicione uma nova classificação de negócios (classificação refinada). Na página básica de Create Policy, insira um Policy Name e defina Scope como Business Sort. Configure Type como Expression e clique em Next para acessar a configuração. No editor de expressão de classificação, insira text_relevance(title) e, em seguida, clique em Complete. Neste exemplo, configuramos a relevância do nome do produto.

Etapa 4: Conclua a configuração. Na página Search Test, selecione o índice test_han_indexes e defina o tipo como Online Application. Insira a consulta query=title:'裙子' e configure a cláusula config como start:0. Compare os resultados das duas políticas lado a lado para verificar o efeito da classificação refinada. O teste de pesquisa permite comparar os resultados de uma consulta regular com os resultados de uma consulta que usa uma política de classificação.

Configure sugestões suspensas: Em cenários de e-commerce, use o recurso de sugestão suspensa do OpenSearch para reduzir a entrada do usuário e ajudá-lo a encontrar o que deseja mais rapidamente. Para obter mais informações sobre como configurar sugestões suspensas, consulte Drop-down suggestions.

Configure previsão de categoria: Use também o recurso de previsão de categoria para prever qual categoria o usuário deseja consultar. Para obter mais informações, consulte Category prediction.

Outras configurações comuns:

  • Em cenários de e-commerce, se vários produtos do mesmo vendedor tiverem pontuações de documento altas, todos eles aparecerão no topo dos resultados da pesquisa. Isso é prejudicial tanto para a apresentação dos resultados quanto para a experiência do usuário. Use a cláusula distinct para melhorar a diversidade dos resultados. Para obter mais informações, consulte Aggregation clause - distinct.

  • O sistema também permite visualizar resultados por faixa de preço, o que requer a cláusula filter. Para obter mais informações, consulte Filter clause - filter. O código de exemplo a seguir mostra como filtrar pelo campo price:

    if(!lowPrice.equals("")){
      queryElement.addFilter("price>=" + lowPrice);
    }
    if(!highPrice.equals("")){
      queryElement.addFilter("price<=" + highPrice);
    }

Resumo

Você acabou de criar um protótipo de pesquisa simples para cenários de e-commerce com base no Alibaba Cloud OpenSearch. O OpenSearch fornece serviços de pesquisa abrangentes e operações de API, permitindo que você atenda rapidamente aos seus requisitos de pesquisa do negócio. Isso reduz o trabalho de desenvolvimento e melhora a eficiência na criação de recursos de pesquisa. Também diminui a carga e os custos de implantação e O&M associados à construção de uma plataforma complexa. Selecione várias configurações e recursos personalizados do OpenSearch com base em seus cenários de negócio para obter uma melhor experiência de pesquisa.