As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Enriquecimento semântico automático para o Amazon Service OpenSearch
Introdução
O Amazon OpenSearch Service usa a correspondência palavra a palavra (pesquisa léxica) para encontrar resultados, de forma semelhante a outros mecanismos de pesquisa tradicionais. Essa abordagem funciona bem para consultas específicas, como códigos de produtos ou números de modelos, mas tem dificuldades com pesquisas abstratas, nas quais entender a intenção do usuário se torna crucial. Por exemplo, quando você pesquisa por “sapatos para a praia”, a pesquisa léxica corresponde às palavras individuais “sapatos”, “praia”, “para” e “o” nos itens do catálogo, possivelmente sem produtos relevantes, como “sandálias resistentes à água” ou “calçados de surf”, que não contêm os termos de pesquisa exatos.
O enriquecimento semântico automático resolve essa limitação considerando as correspondências de palavras-chave e o significado contextual por trás das pesquisas. Esse recurso entende a intenção de pesquisa e melhora a relevância da pesquisa em até 20%. Ative esse recurso para campos de texto em seu índice para aprimorar os resultados da pesquisa.
nota
O enriquecimento semântico automático está disponível para domínios de OpenSearch serviço que executam a versão 2.19 ou posterior. Além disso, os domínios com a OpenSearch versão 2.19 também precisam estar na atualização mais recente da versão do software de serviço. O recurso está disponível para domínios de acesso público e VPC. Para domínios VPC, você deve autorizar o principal dos recursos do OpenSearch serviço antes de criar ou gerenciar um índice de enriquecimento semântico. Para obter mais informações, consulte Usando o enriquecimento semântico automático com domínios VPC.
Detalhes do modelo e referência de desempenho
Embora esse recurso resolva as complexidades técnicas nos bastidores sem expor o modelo subjacente, oferecemos transparência por meio de uma breve descrição do modelo e resultados de benchmark para ajudar você a tomar decisões informadas sobre a adoção de recursos em suas cargas de trabalho críticas.
O enriquecimento semântico automático usa um modelo esparso pré-treinado e gerenciado por serviços que funciona de forma eficaz sem exigir ajustes personalizados. O modelo analisa os campos que você especifica, expandindo-os em vetores esparsos com base em associações aprendidas de diversos dados de treinamento. Os termos expandidos e seus pesos significativos são armazenados no formato de índice Lucene nativo para uma recuperação eficiente. Otimizamos esse processo usando o modo somente documento, em
Nossa validação de desempenho durante o desenvolvimento de recursos usou o conjunto de dados de recuperação de passagens
-
Idioma inglês - Melhoria de relevância de 20% em relação à pesquisa lexical. Também reduziu a latência de pesquisa do P90 em 7,7% em relação à pesquisa léxica (BM25 tem 26 ms e o enriquecimento semântico automático é 24 ms).
-
Multi-lingual - Melhoria de relevância de 105% em relação à pesquisa lexical, enquanto a latência da pesquisa P90 aumentou 38,4% em relação à pesquisa lexical (BM25 é 26 ms e o enriquecimento semântico automático é 36 ms).
Dada a natureza exclusiva de cada carga de trabalho, recomendamos que você avalie esse recurso em seu ambiente de desenvolvimento usando seus próprios critérios de benchmarking antes de tomar decisões de implementação.
Idiomas suportados
O recurso oferece suporte ao inglês. Além disso, o modelo também suporta árabe, bengali, chinês, finlandês, francês, hindi, indonésio, japonês, coreano, persa, russo, espanhol, suaíli e telugu.
Configurar um índice automático de enriquecimento semântico para domínios
É fácil configurar um índice com o enriquecimento semântico automático ativado para seus campos de texto, e você pode gerenciá-lo por meio do console, das APIs e dos CloudFormation modelos durante a criação de um novo índice. Para habilitá-lo para um índice existente, você precisa recriar o índice com o enriquecimento semântico automático ativado para campos de texto.
Experiência de console - O AWS console permite que você crie facilmente um índice com campos de enriquecimento semântico automático. Depois de selecionar um domínio, você encontrará o botão criar índice na parte superior do console. Depois de clicar no botão criar índice, você encontrará opções para definir campos de enriquecimento semântico automático. Em um índice, você pode ter combinações de enriquecimento semântico automático para inglês e campos multilíngues, bem como lexicais.
Experiência de API - Para criar um índice de enriquecimento semântico automático usando a interface de linha de AWS comando (AWS CLI), use o comando create-index:
aws opensearch create-index \ --domain-name [domain_name] \ --index-name [index_name] \ --index-schema [index_body] \
No exemplo de esquema de índice a seguir, o campo title_semantic tem um tipo de campo definido como texto e o parâmetro semantic_enrichment definido como status ENABLED. Definir o parâmetro semantic_enrichment permite o enriquecimento semântico automático no campo title_semantic. Você pode usar o campo language_options para especificar inglês ou. MULTI-LINGUAL
aws opensearch create-index \ --id XXXXXXXXX \ --index-name 'product-catalog' \ --index-schema '{ "mappings": { "properties": { "product_id": { "type": "keyword" }, "title_semantic": { "type": "text", "semantic_enrichment": { "status": "ENABLED", "language_options": "english" } }, "title_non_semantic": { "type": "text" } } } }'
Para descrever o índice criado, use o seguinte comando:
aws opensearch get-index \ --domain-name [domain_name] \ --index-name [index_name] \
Atualizar um índice existente
Você pode atualizar um índice existente para adicionar novos campos de enriquecimento semântico, ativar ou desativar o enriquecimento semântico em campos existentes ou adicionar campos de texto não semânticos. Use o update-index comando e forneça somente os campos que você deseja alterar noindex-schema. Os campos não incluídos na solicitação permanecem inalterados.
nota
O índice settings não pode ser atualizado. Se você incluir um settings bloco na solicitação, a operação retornará um erro de validação. Para alterar as configurações do índice, você deve excluir e recriar o índice.
Para atualizar um índice usando o AWS CLI, use o update-index comando:
aws opensearch update-index \ --domain-name [domain_name] \ --index-name [index_name] \ --index-schema [index_body]
Adicionar um novo campo de enriquecimento semântico
Você pode adicionar um novo text campo com o enriquecimento semântico ativado a um índice existente. O serviço configura automaticamente o modelo de ML, o pipeline de ingestão e o pipeline de pesquisa necessários. Novos documentos indexados após a atualização são enriquecidos automaticamente.
Importante
Os documentos existentes não são preenchidos. Para preencher o campo de enriquecimento semântico em documentos existentes, você deve inseri-los novamente após a atualização. Até serem ingeridos novamente, os documentos existentes não se beneficiarão da pesquisa semântica no novo campo.
aws opensearch update-index \ --domain-name my-domain \ --index-name product-catalog \ --index-schema '{ "mappings": { "properties": { "description": { "type": "text", "semantic_enrichment": { "status": "ENABLED", "language_options": "english" } } } } }'
Desativar o enriquecimento semântico em um campo
Para desativar o enriquecimento semântico em um campo que atualmente o tenha ativado, status defina como. DISABLED O campo é removido dos pipelines de ingestão e pesquisa. O campo de texto subjacente e seu campo incorporado permanecem no índice, mas não são mais enriquecidos.
aws opensearch update-index \ --domain-name my-domain \ --index-name product-catalog \ --index-schema '{ "mappings": { "properties": { "title_semantic": { "type": "text", "semantic_enrichment": { "status": "DISABLED" } } } } }'
Limitações de atualização
As operações a seguir não são suportadas update-index e exigem que você exclua e recrie o índice:
-
Mudando
language_optionsem um campo que atualmente tem o enriquecimento semântico ativado. Desative o campo primeiro e depois reative-o com a nova opção de idioma. -
Atualização de campos aninhados. O enriquecimento semântico só é suportado em campos de nível superior
text. -
Atualizando o índice
settings.
nota
Se o índice tiver um canal de ingestão ou pesquisa personalizado que não tenha sido criado pelo enriquecimento semântico automático, a operação de atualização será bloqueada. Remova o pipeline personalizado antes de adicionar campos de enriquecimento semântico.
Ingestão e pesquisa de dados
Depois de criar um índice com o enriquecimento semântico automático ativado, o recurso funciona automaticamente durante o processo de ingestão de dados, sem necessidade de configuração adicional.
Ingestão de dados: quando você adiciona documentos ao seu índice, o sistema automaticamente:
-
Analisa os campos de texto que você designou para enriquecimento semântico
-
Gera codificações semânticas usando o modelo esparso gerenciado por OpenSearch serviços
-
Armazena essas representações enriquecidas junto com seus dados originais
Esse processo usa conectores OpenSearch de ML integrados e pipelines de ingestão, que são criados e gerenciados automaticamente nos bastidores.
Pesquisa: os dados de enriquecimento semântico já estão indexados, portanto, as consultas são executadas com eficiência sem invocar o modelo de ML novamente. Isso significa que você obtém maior relevância de pesquisa sem sobrecarga adicional de latência de pesquisa.
Usando o enriquecimento semântico automático com domínios VPC
O enriquecimento semântico automático é compatível com domínios de acesso público e VPC que executam a OpenSearch versão 2.19 ou posterior com a atualização mais recente do software de serviço.
Para domínios de acesso VPC, o Amazon OpenSearch Service usa um serviço gerenciado para provisionar o modelo de ML, o pipeline de ingestão e o pipeline de pesquisa que potencializam o enriquecimento semântico. Como um domínio VPC não pode ser acessado publicamente, você deve autorizar esse serviço gerenciado a acessar seu domínio antes de criar ou gerenciar um índice de enriquecimento semântico.
Autorizar as principais características do OpenSearch Serviço
Conceda acesso com a AuthorizeVpcEndpointAccess API, especificando features.opensearchservice.amazonaws.com como principal do serviço:
aws opensearch authorize-vpc-endpoint-access \ --domain-namedomain-name\ --service "features.opensearchservice.amazonaws.com" \ --regionregion
Uma chamada bem-sucedida retorna:
{ "AuthorizedPrincipal": { "PrincipalType": "AWS Service", "Principal": "features.opensearchservice.amazonaws.com" } }
Você só precisa autorizar o principal uma vez por domínio. Essa etapa não é necessária para domínios de acesso público.
Se você tentar uma operação de índice de enriquecimento semântico (create-index, update-indexget-index, oudelete-index) em um domínio VPC antes de autorizar o principal, a operação falhará com um erro semelhante ao seguinte:
An error occurred (AccessDeniedException) when calling the GetIndex operation: This operation is not authorized for VPC domain. Please authorize 'features.opensearchservice.amazonaws.com' through the AuthorizeVpcEndpointAccess API.
Depois de autorizar o diretor, repita a operação.
Experiência de console
Você pode concluir a autorização e criar um índice de enriquecimento semântico para um domínio VPC diretamente do console. No console do Amazon OpenSearch Service, selecione seu domínio VPC para exibir o banner de enriquecimento semântico automático e escolha Ir para índices para abrir a guia Índices.
Se o principal dos recursos do OpenSearch serviço ainda não tiver sido autorizado a acessar o domínio, a guia Índices mostrará uma mensagem de acesso negado em vez do botão Criar índice. Escolha Autorizar principal para abrir a guia VPC endpoints.
Na guia VPC endpoints, escolha Autorizar principal, selecione Autorizar diretores de outros AWS serviços e escolha Recursos do serviço. OpenSearch Isso executa a mesma autorização da AuthorizeVpcEndpointAccess API descrita na seção anterior.
Retorne à guia Índices. O botão Criar índice agora está disponível. Escolha Criar índice para abrir a página de criação de índice, na qual você pode definir seus campos de enriquecimento semântico automático e criar o índice para seu domínio VPC.
nota
Para domínios VPC, a lista de índices não pode ser exibida no console devido às restrições da rede VPC. Para visualizar seus índices, use os OpenSearch painéis diretamente com o URL do painel. Como você não pode visualizar índices no console, também não é possível atualizar um índice de enriquecimento semântico existente lá. Para atualizar um índice de enriquecimento semântico em um domínio VPC, use a API. update-index Para obter mais informações, consulte Atualizar um índice existente.
Configurar permissões para enriquecimento semântico automático
Antes de criar um índice com enriquecimento semântico automático, você precisa configurar as permissões necessárias. Esta seção explica as permissões necessárias para diferentes operações de indexação e como configurá-las para cenários de controle de acesso AWS Identity and Access Management (IAM) e refinados.
Permissões do IAM
As seguintes permissões do IAM são necessárias para operações automáticas de enriquecimento semântico. Essas permissões variam de acordo com a operação de índice específica que você deseja realizar.
CreateIndex Permissões da API
Para criar um índice com enriquecimento semântico automático, você precisa das seguintes permissões do IAM:
-
es:CreateIndex— Crie um índice com recursos de enriquecimento semântico. -
es:ESHttpHead— Execute solicitações HEAD para verificar a existência do índice. -
es:ESHttpPut— Execute solicitações PUT para criação de índices. -
es:ESHttpPost— Execute solicitações POST para operações de indexação.
UpdateIndex Permissões da API
Para atualizar um índice existente com o enriquecimento semântico automático, você precisa das seguintes permissões do IAM:
-
es:UpdateIndex— Atualize as configurações de índice e os mapeamentos. -
es:ESHttpPut— Execute solicitações PUT para atualizações de índice. -
es:ESHttpGet— Execute solicitações GET para recuperar informações do índice. -
es:ESHttpPost— Execute solicitações POST para operações de indexação.
GetIndex Permissões da API
Para recuperar informações sobre um índice com enriquecimento semântico automático, você precisa das seguintes permissões do IAM:
-
es:GetIndex— Recupere informações e configurações do índice. -
es:ESHttpGet— Execute solicitações GET para recuperar dados do índice.
DeleteIndex Permissões da API
Para excluir um índice com enriquecimento semântico automático, você precisa das seguintes permissões do IAM:
-
es:DeleteIndex— Exclua um índice e seus componentes de enriquecimento semântico. -
es:ESHttpDelete— Execute solicitações DELETE para remoção do índice.
Exemplo de política do IAM
O exemplo de política de acesso baseado em identidade a seguir fornece as permissões necessárias para que um usuário gerencie índices com enriquecimento semântico automático:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSemanticEnrichmentIndexOperations", "Effect": "Allow", "Action": [ "es:CreateIndex", "es:UpdateIndex", "es:GetIndex", "es:DeleteIndex", "es:ESHttpHead", "es:ESHttpGet", "es:ESHttpPut", "es:ESHttpPost", "es:ESHttpDelete" ], "Resource": "arn:aws:es:aws-region:111122223333:domain/domain-name" } ] }
Substitua aws-region111122223333,, e domain-name por seus valores específicos. Você pode restringir ainda mais o acesso especificando padrões de índice específicos no ARN do recurso.
Fine-grained permissões de controle de acesso
Se o seu domínio do Amazon OpenSearch Service tiver o controle de acesso detalhado ativado, você precisará de permissões adicionais além das permissões do IAM.
Os domínios criados em ou após 12 de agosto de 2026 incluem uma função predefinida de controle de acesso refinadoautomatic_semantic_enrichment_full_access, que concede as permissões necessárias para gerenciar índices de enriquecimento semântico. Se seu domínio usa controle de acesso refinado, mapeie sua função de usuário ou back-end para, automatic_semantic_enrichment_full_access em vez de atribuir manualmente as permissões individuais de cluster e índice.
Se seu domínio foi criado antes dessa data, use as permissões detalhadas de controle de acesso descritas nas seções a seguir. As seguintes permissões são necessárias para cada operação de indexação.
CreateIndex Permissões da API
Quando o controle de acesso refinado está ativado, as seguintes permissões adicionais são necessárias para criar um índice com enriquecimento semântico automático:
-
indices:admin/create— Crie operações de índice. -
indices:admin/mapping/put— Crie e atualize mapeamentos de índice. -
cluster:admin/opensearch/ml/create_connector— Crie conectores de aprendizado de máquina para processamento semântico. -
cluster:admin/opensearch/ml/register_model— Registre modelos de aprendizado de máquina para enriquecimento semântico. -
cluster:admin/ingest/pipeline/put— Crie canais de ingestão para processamento de dados. -
cluster:admin/search/pipeline/put— Crie canais de pesquisa para processamento de consultas.
UpdateIndex Permissões da API
Quando o controle de acesso refinado está ativado, as seguintes permissões adicionais são necessárias para atualizar um índice com enriquecimento semântico automático:
-
indices:admin/get— Recupere as informações do índice. -
indices:admin/settings/update— Atualizar as configurações do índice. -
indices:admin/mapping/put— Atualize os mapeamentos do índice. -
cluster:admin/opensearch/ml/create_connector— Crie conectores de aprendizado de máquina. -
cluster:admin/opensearch/ml/register_model— Registre modelos de aprendizado de máquina. -
cluster:admin/ingest/pipeline/put— Crie pipelines de ingestão. -
cluster:admin/search/pipeline/put— Crie canais de pesquisa. -
cluster:admin/ingest/pipeline/get— Recupere as informações do pipeline de ingestão. -
cluster:admin/search/pipeline/get— Recupere informações do pipeline de pesquisa.
GetIndex Permissões da API
Quando o controle de acesso refinado está ativado, as seguintes permissões adicionais são necessárias para recuperar informações sobre um índice com enriquecimento semântico automático:
-
indices:admin/get— Recupere as informações do índice. -
cluster:admin/ingest/pipeline/get— Recupere as informações do pipeline de ingestão. -
cluster:admin/search/pipeline/get— Recupere informações do pipeline de pesquisa.
DeleteIndex Permissões da API
Quando o controle de acesso refinado está ativado, a seguinte permissão adicional é necessária para excluir um índice com enriquecimento semântico automático:
-
indices:admin/delete— Excluir operações de índice.
Reescritas de consultas
O enriquecimento semântico automático converte automaticamente suas consultas de “correspondência” existentes em consultas de pesquisa semântica sem exigir modificações nas consultas. Se uma consulta de correspondência fizer parte de uma consulta composta, o sistema percorre sua estrutura de consulta, encontra consultas de correspondência e as substitui por consultas neurais esparsas. Atualmente, o recurso só oferece suporte à substituição de consultas “correspondentes”, seja uma consulta independente ou parte de uma consulta composta. “multi_match” não é suportado. Além disso, o recurso suporta todas as consultas compostas para substituir suas consultas de correspondência aninhadas. As consultas compostas incluem: bool, boosting, constant_score, dis_max, function_score e hybrid.
Limitações do enriquecimento semântico automático
A pesquisa semântica automática é mais eficaz quando aplicada a campos de pequeno a médio porte contendo conteúdo em linguagem natural, como títulos de filmes, descrições de produtos, resenhas e resumos. Embora a pesquisa semântica aumente a relevância para a maioria dos casos de uso, ela pode não ser ideal para determinados cenários. Considere as seguintes limitações ao decidir se deve implementar o enriquecimento semântico automático para seu caso de uso específico.
-
Documentos muito longos — O modelo esparso atual processa somente os primeiros 8.192 tokens de cada documento em inglês. Para documentos multilíngues, são 512 tokens. Para artigos longos, considere implementar a fragmentação de documentos para garantir o processamento completo do conteúdo.
-
Cargas de trabalho de análise de registros — O enriquecimento semântico aumenta significativamente o tamanho do índice, o que pode ser desnecessário para a análise de registros em que a correspondência exata normalmente é suficiente. O contexto semântico adicional raramente melhora a eficácia da pesquisa de registros o suficiente para justificar o aumento dos requisitos de armazenamento.
-
O enriquecimento semântico automático não é compatível com o recurso Fonte Derivada.
-
Limitação — As solicitações de inferência de indexação estão atualmente limitadas a 200 TPS para domínios de serviço. OpenSearch Esse é um limite flexível; entre em contato com o AWS Suporte para obter limites maiores.
Preços
O Amazon OpenSearch Service fatura o enriquecimento semântico automático com base nas unidades de OpenSearch computação (OCUs) consumidas durante a geração de vetores esparsos no momento da indexação. Você é cobrado somente pelo uso real durante a indexação dos campos de texto nos quais você ativou o enriquecimento semântico automático. Uma OCU de pesquisa semântica pode processar 11,1 milhões de tokens para conteúdo em inglês. Para processar 2,4 bilhões de tokens, você precisaria de cerca de 216 Semantic Search OCU-hours (2,4 bilhões/11,10 milhões). Com um preço de 0,24 USD por pesquisa semântica OCU-hour, o custo do processamento de 10 GB de dados para pesquisa semântica automática seria de 51 USD (216 x 0 USD). OCU-hours 24/OCU-hora). Não há cobranças adicionais de OCU de pesquisa semântica durante as operações de pesquisa ou para armazenamento de dados.
Você pode monitorar esse consumo usando a CloudWatch métrica da AmazonSemanticSearchOCU. Para obter detalhes específicos sobre os limites do token do modelo, a taxa de transferência de volume por OCU e um exemplo de cálculo de amostra, visite OpenSearch Service Pricing.
Compatível Regiões da AWS
O enriquecimento semântico automático está disponível no seguinte: Regiões da AWS
Leste dos EUA (Norte da Virgínia)
Leste dos EUA (Ohio)
Oeste dos EUA (Oregon)
Ásia-Pacífico (Mumbai)
Ásia-Pacífico (Singapura)
Ásia-Pacífico (Sydney)
Ásia-Pacífico (Tóquio)
Europa (Frankfurt)
Europa (Irlanda)
Europa (Estocolmo)
Europa (Espanha)