Perguntas Mais Frequentes da Pesquisa Cognitiva

Encontre respostas a perguntas mais frequentes sobre Azure Cognitive Search.

Geral

O que é o Azure Cognitive Search?

Azure Cognitive Search é um serviço no Azure que fornece um motor de busca dedicado e armazenamento persistente dos seus conteúdos pesquisáveis para cenários de pesquisa em texto completo. Também inclui IA integrada opcional utilizada durante a indexação para extrair mais texto e estrutura de conteúdo não processado.

Como devo proceder para trabalhar com a Pesquisa Cognitiva?

O fluxo de trabalho principal é criar, carregar e consultar um índice. Embora possa utilizar o portal para a maioria das tarefas, o Cognitive Search destina-se a ser utilizado programaticamente, processando pedidos de código de cliente. O suporte programático é fornecido através de APIs REST e bibliotecas de cliente em SDKs .NET, Python, Java e JavaScript para o Azure.

O "Azure Search" e o "Azure Cognitive Search" são o mesmo serviço?

O nome do Azure Search foi mudado para Azure Cognitive Search em outubro de 2019 para refletir a utilização expandida (mas opcional) de competências cognitivas e processamento de IA em operações de serviço.

Que idiomas são suportados?

O analisador predefinido utilizado para a tokenização é Lucene padrão e é agnóstico em linguagem. Caso contrário, o suporte de idioma é expresso através de analisadores de idiomas que aplicam regras linguísticas a conteúdo de entrada (indexação) e saída (consultas). Algumas funcionalidades, como a pesquisa semântica e o soletrador, estão limitadas a um subconjunto de idiomas.

Como devo proceder para integrar a pesquisa na minha solução?

O código de cliente deve chamar as bibliotecas de cliente ou as APIs REST para ligar a um índice de pesquisa, formular consultas e processar respostas. Também pode escrever código que compila e atualiza um índice ou executa indexadores programaticamente ou por script.

Existe paridade funcional entre as várias APIs?

Nem sempre. A API REST é sempre a primeira a implementar novas funcionalidades em versões de API de pré-visualização e as versões geralmente disponíveis suportam todas as operações programáticas. As bibliotecas de cliente nos SDKs do Azure irão recolher novas funcionalidades ao longo do tempo, mas são lançadas com base na sua própria agenda.

Apesar de as APIs REST estarem em primeiro lugar com as funcionalidades mais recentes, os SDKs do Azure fornecem mais suporte de codificação e são recomendados através de REST, a menos que uma funcionalidade necessária não esteja disponível.

Posso colocar o serviço em pausa e parar a faturação?

Não pode colocar um serviço de pesquisa em pausa. No Azure Cognitive Search, os recursos de computação são alocados quando o serviço é criado. Não é possível libertar e recuperar esses recursos a pedido.

Posso atualizar, mudar para uma versão anterior, mudar o nome ou mover o serviço?

O escalão de serviço, o nome e a região são fixos para a duração do serviço.

Se migrar o meu serviço de pesquisa para outra subscrição ou grupo de recursos, devo esperar algum tempo de inatividade?

Desde que siga a lista de verificação antes de mover recursos e certifique-se de que cada passo está concluído, não deverá haver nenhum período de indisponibilidade.

Indexação

O que significa "indexação" na Pesquisa Cognitiva?

Refere-se à ingestão, análise e armazenamento de conteúdos textuais e tokens que povoam um índice de pesquisa. A indexação cria índices invertidos e outras estruturas de dados físicas que suportam a obtenção de informações.

Posso mover, fazer cópias de segurança e restaurar índices?

Não existe suporte nativo para a gestão de índices. Os índices de pesquisa são considerados estruturas de dados a jusante, aceitando conteúdos de outras origens de dados que recolhem dados operacionais. Como tal, não existe suporte incorporado para criar cópias de segurança e restaurar índices porque a expectativa é que recompile um índice a partir de dados de origem se os tiver eliminado ou quisesse movê-lo.

No entanto, se quiser mover um índice entre serviços de pesquisa, pode experimentar o código de exemplo index-backup-restore neste Azure Cognitive Search repositório de exemplo .NET.

Posso restaurar o meu índice ou serviço depois de este ser eliminado?

Não, se eliminar um índice ou serviço Azure Cognitive Search, não poderá recuperá-lo. Quando elimina um serviço de pesquisa, todos os índices no serviço são eliminados permanentemente.

Posso indexar a partir de réplicas Base de Dados SQL?

Se estiver a utilizar o indexador de pesquisa para a Base de Dados SQL do Azure, não existem restrições na utilização de réplicas primárias ou secundárias como origem de dados ao criar um índice de raiz. No entanto, atualizar um índice com atualizações incrementais (com base em registos alterados) requer a réplica primária. Este requisito provém de Base de Dados SQL, que garante o controlo de alterações apenas nas réplicas primárias. Se tentar utilizar réplicas secundárias para uma carga de trabalho de atualização de índice, não há garantias de que obtenha todos os dados.

Consultas

Onde ocorre a execução de consultas?

As consultas são executadas através de um único índice de pesquisa alojado no seu serviço de pesquisa. Não pode associar vários índices para procurar conteúdos em dois ou mais índices, mas pode consultar índices com o mesmo nome em vários serviços de pesquisa.

Por que motivo não existem correspondências nos termos que sei que são válidos?

O caso mais comum é não saber que cada tipo de consulta suporta diferentes comportamentos de pesquisa e níveis de análise linguística. A pesquisa em texto completo, que é a carga de trabalho predominante, inclui uma fase de análise de idioma que divide termos em formulários de raiz. Este aspeto da análise de consultas gera uma rede mais ampla em relação a possíveis correspondências, uma vez que o termo tokenizado corresponde a um maior número de variantes.

No entanto, as consultas de carateres universais, difusas e regex não são analisadas como consultas regulares de expressão ou termo e podem levar a uma má recolha se a consulta não corresponder à forma analisada da palavra no índice de pesquisa. Para obter mais informações sobre análise e análise de consultas, veja Arquitetura de consulta.

Porque é que as minhas pesquisas de carateres universais estão lentas?

A maioria das consultas de pesquisa de carateres universais, como prefixo, fuzzy e regex, são reescritas internamente com termos correspondentes no índice de pesquisa. Este processamento adicional aumenta a latência. Além disso, as consultas de pesquisa abrangentes, como a* por exemplo, que provavelmente serão reescritas com muitos termos, podem ser lentas. Para realizar pesquisas de carateres universais, considere definir um analisador personalizado.

Posso procurar em vários índices?

Não, uma consulta está sempre confinada a um único índice.

Por que motivo a classificação de pesquisa é uma constante 1.0 para cada correspondência?

As classificações de pesquisa são geradas para consultas de pesquisa de texto completo, com base nas propriedades estatísticas dos termos correspondentes, e ordenadas de alta para baixa no conjunto de resultados. Os tipos de consulta que não são de pesquisa de texto completo (caráter universal, prefixo, regex) não são classificados por uma classificação de relevância. Este comportamento é propositado. Uma classificação constante permite que as correspondências encontradas através da expansão da consulta sejam incluídas nos resultados, sem afetar a classificação.

Por exemplo, suponha que uma entrada de "tour*" numa pesquisa de carateres universais produz correspondências em "tours", "tourettes" e "tourmaline". Dada a natureza destes resultados, não há forma de inferir razoavelmente quais os termos mais valiosos do que outros. Por este motivo, as frequências de termos são ignoradas quando a classificação resulta em consultas de tipos de carateres universais, prefixos e regex. Os resultados da pesquisa baseados numa entrada parcial recebem uma classificação constante para evitar preconceitos em relação a correspondências potencialmente inesperadas.

Segurança

Onde é que o Cognitive Search armazena os dados dos clientes?

A Pesquisa Cognitiva não armazena dados de clientes fora da região em que o serviço é implementado.

A Pesquisa Cognitiva envia dados do cliente para outros serviços para processamento?

Sim, se utilizar as competências incorporadas com base nos Serviços Cognitivos, o indexador envia pedidos para os Serviços Cognitivos através da rede interna. Se adicionar uma competência personalizada, o indexador enviará conteúdo para o URI fornecido na competência personalizada.

Posso controlar o acesso aos resultados da pesquisa com base na identidade do utilizador?

Não exatamente. Normalmente, os utilizadores autorizados a executar a sua aplicação também estão autorizados a ver todos os resultados da pesquisa. A Pesquisa Cognitiva não tem suporte incorporado para permissões ao nível da linha ou ao nível do documento, mas pode implementar filtros de segurança como solução.

Posso controlar o acesso a operações com base na identidade do utilizador?

A autorização baseada em funções para operações do plano de dados através de conteúdo está agora em pré-visualização pública.

Posso utilizar o portal do Azure para ver e gerir conteúdos de pesquisa se o serviço de pesquisa estiver protegido por uma firewall de IP ou um ponto final privado?

Pode utilizar o portal do Azure num serviço de pesquisa protegido pela rede se criar uma exceção de rede que permita o acesso de cliente e portal. Para obter mais informações, veja Ligar através de uma firewall de IP ou ligar através de um ponto final privado.

Passos seguintes

Se a sua pergunta não for respondida aqui, pode consultar as seguintes fontes para obter mais perguntas e respostas.

Stack Overflow: Azure Cognitive Search
Como funciona a pesquisa em texto completo no Azure Cognitive Search
O que é o Azure Cognitive Search?