Geral

P: O que é o Amazon CloudSearch?

O Amazon CloudSearch é um serviço da web que proporciona uma maneira rápida e fácil de tornar seus dados pesquisáveis. Quando você faz o upload de seus dados para o Amazon CloudSearch, seus usuários podem enviar solicitações de pesquisa e obter assim os resultados mais relevantes. O Amazon CloudSearch oferece todas as funcionalidades de um mecanismo de pesquisa altamente disponível, sem as tarefas demoradas de gerenciamento e escalonamento, permitindo assim que você se concentre em seus aplicativos e nos negócios. É fácil de usar. Com poucos cliques no AWS Management Console ou algumas chamadas de API, você pode tornar seus dados pesquisáveis. Assim como ocorre com todos os Amazon Web Services, não há investimentos prévios exigidos e você paga somente pelos recursos que usar.

P: O que é um mecanismo de pesquisa?

Um mecanismo de pesquisa permite realizar pesquisas em grandes grupos de itens, essencialmente textuais (denominados "documentos"), para obter rapidamente os resultados que correspondam melhor à pesquisa. As solicitações de pesquisa são geralmente constituídas por poucas palavras de texto não estruturado, como "músicas caetano veloso". Os resultados obtidos são geralmente classificados com os itens de maior correspondência, ou mais relevantes, listados primeiro (os que estão mais relacionados com os termos de pesquisa).

Os documentos podem ser completamente não estruturados, ou conter campos múltiplos que podem opcionalmente ser pesquisados individualmente. Por exemplo, um serviço de pesquisa de filmes pode ter documentos com campos de título, diretor, ator, descrição e críticas. Os resultados obtidos por um mecanismo de pesquisa são geralmente proxies dos documentos subjacentes, como URLs que fazem referência a páginas da web específicas. No entanto, o serviço de pesquisa pode também obter o conteúdo real de campos individuais.

P: Quais são as vantagens oferecidas pelo Amazon CloudSearch?

O Amazon CloudSearch é um serviço de pesquisa totalmente gerenciado com escalabilidade automática conforme o volume de dados e a complexidade das solicitações de pesquisa, a fim de fornecer resultados rápidos e precisos. O Amazon CloudSearch permite que os clientes acrescentem funcionalidades de pesquisa sem a necessidade de gerenciar hosts, escalabilidade de dados e tráfego, redundância ou pacotes de software. Os usuários pagam tarifas por hora reduzidas, apenas pelos recursos utilizados. O Amazon CloudSearch pode oferecer um custo total de propriedade significativamente mais baixo em comparação com o custo que você teria ao operar e gerenciar seus próprios ambientes de pesquisa.

P: É possível usar o Amazon CloudSearch com um serviço de armazenamento?

Um serviço de pesquisa e um serviço de armazenamento são complementares. Um serviço de pesquisa pressupõe que seus documentos já estejam armazenados em algum lugar, seja em arquivos de um sistema de arquivos, dados no Amazon S3 ou registros contidos em uma instância do Amazon Simple DB ou do Amazon RDS. O serviço de pesquisa é um sistema de recuperação rápido que torna esses itens pesquisáveis, com latências de menos de um segundo, por meio de um processo denominado indexação.

P: É possível usar o Amazon CloudSearch com um banco de dados?

Os mecanismos de pesquisa e os bancos de dados não se excluem mutuamente. Pelo contrário, muitas vezes eles são usados em conjunto. Se você já tem um banco de dados que contém dados estruturados, pode ser aconselhável usar um mecanismo de pesquisa para filtrar e classificar de maneira inteligente o conteúdo do banco de dados, usando palavras-chave de pesquisa como critérios de relevância.

Um serviço de pesquisa pode ser usado para indexar e pesquisar dados estruturados ou não estruturados. O conteúdo pode ser proveniente de diversas fontes, além de incluir campos de banco de dados juntamente com arquivos de diferentes formatos, páginas da web, e assim por diante. Um serviço de pesquisa pode comportar uma classificação de resultados personalizável e/ou recursos de pesquisa especiais, como a utilização de facetas para filtragem não disponíveis nos bancos de dados.

P: Em que regiões da AWS o Amazon CloudSearch está disponível?

O Amazon CloudSearch está disponível atualmente nas seguintes regiões da AWS: Leste dos EUA (Norte da Virgínia) e UE (Irlanda).

Conceitos básicos

P: Como faço para começar a usar o Amazon CloudSearch?

Para se cadastrar no Amazon CloudSearch, clique no botão Cadastre-se agora na página de detalhes do Amazon CloudSearch e efetue o processo de cadastramento. Você precisa ter uma conta da Amazon Web Services. Caso já não tenha uma, você será solicitado a criar uma conta da AWS ao começar o processo de cadastramento no Amazon CloudSearch.

Após efetuar seu cadastro, selecione Amazon CloudSearch no AWS Management Console. Utilizando o console do Amazon CloudSearch você pode rapidamente criar um domínio de pesquisa, configurar os campos de pesquisa, fazer o upload de dados de amostra e enviar consultas de pesquisa ao seu domínio de pesquisa. Além disso, você pode também utilizar as ferramentas de linha de comando e as APIs do Amazon CloudSearch para criar e configurar seu domínio de pesquisa.

Para obter mais informações, consulte o tutorial de Getting Started no Amazon CloudSearch Developer Guide.

P: Existem ferramentas disponíveis para desenvolvedores?

Sim, o Amazon CloudSearch é fornecido com um conjunto completo de ferramentas de linha de comando e é suportado nos SDKs da AWS para Java, .NET, PHP e Ruby. Para obter mais informações, consulte o Amazon CloudSearch Developer Guide e a demonstração Desenvolvendo um aplicativo de pesquisa usando o CloudSearch.

Domínios de pesquisa, dados e indexação

P: O que é um domínio de pesquisa e como faço para criar um?

Um domínio de pesquisa é um recipiente de dados e um conjunto de serviços que tornam os dados pesquisáveis. Esses serviços incluem:

  • Um serviço de documentos que permite fazer o upload de dados ao seu domínio para indexação.
  • Um serviço de pesquisa que permite efetuar solicitações de pesquisa entre os dados indexados.
  • Um serviço de configuração para controlar o comportamento de seu domínio (incluindo a classificação por relevância).

É possível criar, gerenciar e excluir domínios de pesquisa utilizando o AWS Management Console, as APIs do Amazon CloudSearch ou as ferramentas de linha de comando do Amazon CloudSearch.

P: Como faço o upload de documentos para meu domínio de pesquisa?

Todo domínio de pesquisa tem um serviço de documentos com um URL (ponto de extremidade dos documentos) que aceita solicitações de upload de documentos. Para fazer o upload de documentos para seu domínio, você pode usar o AWS Management Console, as APIs do Amazon CloudSearch ou as ferramentas de linha de comando do Amazon CloudSearch.

P: Meus documentos precisam estar em um formato específico?

Para tornar seus dados pesquisáveis, você precisa descrever seus documentos no Search Data Format (SDF) e fazer o upload dos mesmos em lotes para o domínio de pesquisa. O Amazon CloudSearch gera um índice de pesquisa com base nos dados em SDF de acordo com os campos de indexação e as opções de texto configuradas para o domínio. À medida que os dados mudam, você envia atualizações dos documentos em SDF para adicionar ou excluir documentos do índice. O Amazon CloudSearch aplica atualizações de dados continuamente, de forma que os novos dados se tornam pesquisáveis quase em tempo real.

P: Como faço para criar documentos formatados no Search Data Format (SDF)?

Para criar lotes em SDF que descrevem os dados, você pode criar arquivos de texto JSON ou XML que estejam em conformidade com as convenções de dados do SDF.

Ao criar lotes de documentos em SDF, você precisa fornecer as seguintes informações:

  • O tipo de operação: adicionar ou excluir
  • Um identificador exclusivo
  • Um número de versão (que deve ser incrementado em operações subsequentes de adição ou exclusão)
  • O código de idioma de duas letras (como en para o inglês)
  • Os campos e os respectivos dados

O exemplo seguinte mostra uma versão em JSON de um lote em SDF:

Exemplo em JSON

Observe que os valores inteiros, como a versão e o ano, não estão entre aspas, e que os valores em um campo de valores múltiplos, como gênero, são listados como uma matriz JSON.

Para tornar esses dados disponíveis para o Amazon CloudSearch, você pode salvar esse texto como um arquivo e fazer o upload do mesmo por meio do console ou das ferramentas de linha de comando, ou enviá-lo diretamente através da API HTTP.

P: Como faço o upload de documentos em SDF por meio das APIs?

Após ter criado dados em SDF, você pode enviá-los ao Amazon CloudSearch como corpo de uma solicitação POST ao ponto de extremidade do documento para o seu domínio. Por exemplo, se você tem um lote SDF em um arquivo denominado data.json você pode emitir a seguinte solicitação cURL para enviar o lote:

curl -X POST --upload-file outputfiles1.json --header "Content-Type: application/json" doc-domain-name-domainid.us-east-1.cloudsearch.amazonaws.com/2011-02-01/documents/batch

P: Como são indexados os documentos?

Os documentos são indexados automaticamente quando você os envia ao seu domínio de pesquisa. Você pode também reindexar explicitamente seus documentos ao fazer alterações das configurações, enviando uma solicitação de IndexDocuments.

P: Quando devo reindexar meu domínio?

Certas opções de configuração, como a adição de um novo campo de indexação ou a atualização de dicionários de raízes de palavras e de palavras vazias, não estarão disponíveis enquanto o seu domínio não for reindexado. Após fazer alterações que requerem indexação, o status do domínio indicará que ele precisa ser indexado. A indexação pode ser iniciada a partir do AWS Management Console, com a API do IndexDocuments ou por meio da ferramenta de linha de comando cs-index-documents.

P: Como faço para enviar solicitações de pesquisa ao meu domínio de pesquisa?

Todo domínio de pesquisa tem um serviço de pesquisa com base em REST com um URL exclusivo (ponto de extremidade de pesquisa) que aceita solicitações de pesquisa em seu conjunto de documentos. Você pode enviar solicitações de pesquisa para o URL por meio de um navegador da web, do AWS Management Console ou das APIs do Amazon CloudSearch.

P: Um domínio de pesquisa pode cobrir várias regiões ou zonas de disponibilidade?

Não neste momento.

P: Posso mover um domínio de pesquisa de uma região para outra?

No momento, não há como migrar automaticamente um domínio de pesquisa de uma região para outra. Você precisará criar um novo domínio na região-alvo, configurar o domínio, fazer upload dos seus dados e excluir o domínio original.

P: Como faço a exclusão de meu domínio de pesquisa?

Para excluir um domínio de pesquisa, clique no botão Delete Domain no console do Amazon CloudSearch ou emita o comando cs-delete-domain usando as Ferramentas da Linha de Comando.

P: Como faço a exclusão de documentos do meu domínio de pesquisa?

Para excluir documentos, especifique uma operação de exclusão em seu documento SDF que contém a id do documento que deseja remover e um número de versão de documento superior ao número de versão atual para esse documento.

Você poderá enviar atualizações de dados através do console do Amazon CloudSearch, usando o comando cs-post-sdf ou postando uma solicitação diretamente para o endpoint do serviço de documentos do domínio.

P: Como faço para esvaziar meu domínio de pesquisa?

Se você quiser manter os endpoints de seu domínio, poderá enviar uma exclusão para cada documento que esteja em seu domínio.

Se você não precisar manter os endpoints de seu domínio, poderá criar um novo domínio de pesquisa copiando a configuração do domínio que deseja excluir e então excluir o domínio anterior.

Recursos de pesquisa

P: Que recursos de pesquisa o Amazon CloudSearch oferece?

O Amazon CloudSearch oferece recursos para indexar e pesquisar dados estruturados e texto simples, incluindo pesquisa facetada, pesquisa de texto livre, expressões de pesquisa booleanas, classificação de relevância personalizável, expressões de classificação de tempo de consulta, ponderação de campos, pesquisa e classificação de resultados utilizando qualquer campo, e opções de processamento de texto, incluindo tokenização, palavras vazias, raízes de palavras e sinônimos. Ele oferece também a indexação de atualizações de documentos quase em tempo real.

P: O que é texto estruturado?

Para viabilizar recursos mais avançados como facetamento ou pesquisa com campos, você pode adicionar estrutura a seus documentos formatando-os em XML ou JSON como uma coleção de pares de valores de atributo. O Amazon CloudSearch requer que todo texto estruturado esteja em um formato específico, denominado Search Data Format (SDF). Segue abaixo um exemplo de documento XML em SDF de um DVD e suas respectivas críticas. Poderia ser efetuada um solicitação de pesquisa com palavras-chave entre as críticas do público, tais como "melhor filme", ou para procurar uma correspondência entre os nomes de diretores, como "lucas".

Exemplo de XML
P: O que é facetamento?

O facetamento permite categorizar os resultados das pesquisas através de refinamentos após os quais o usuário pode efetuar pesquisas adicionais. Por exemplo, o usuário faz uma pesquisa com o termo "guarda-chuvas", e as facetas lhe permitem agrupar os resultados por preço, como 0 USD até 10 USD, 10 USD até 20 USD, 20 USD até 40 USD, e assim por diante. O Amazon CloudSearch permite também incluir contagens de resultados nas facetas, de modo que cada refinamento tenha a contagem do número de documentos contidos no respectivo grupo. Um exemplo poderia ser: 0 USD até 10 USD (4 itens), 10 USD até 20 USD (123 itens), 20 USD até 40 USD (57 itens), e assim por diante.

P: Quais idiomas o Amazon CloudSearch suporta?

O Amazon CloudSearch no momento está disponível apenas em inglês.

Desempenho

P: Com que rapidez os documentos que enviei se tornarão pesquisáveis?

Geralmente, os documentos enviados a um domínio de pesquisa se tornam pesquisáveis após um período que pode variar entre alguns segundos e poucos minutos.

P: Quantas solicitações de pesquisa posso enviar ao meu domínio de pesquisa?

Não existe um limite intrínseco para o número de solicitações de pesquisa que podem ser enviadas a um domínio de pesquisa.

P: Quais fatores afetam a latência de minhas solicitações de pesquisa?

As solicitações de pesquisa são geralmente processadas em algumas centenas de milissegundos, e frequentemente muito mais rápido. A latência depende de muitos fatores, incluindo o tempo necessário para que as solicitações e as respectivas respostas se desloquem entre o aplicativo e o domínio de pesquisa, a complexidade da solicitação de pesquisa e com que intensidade você está usando o seu domínio de pesquisa.

P: O que torna uma solicitação de pesquisa mais complexa do que outra?

O Amazon CloudSearch foi criado para processar com eficiência uma ampla variedade de solicitações de pesquisa muito rapidamente. As solicitações de pesquisa variam em termos de complexidade conforme as expressões que determinam quais documentos correspondem à pesquisa (o conjunto de correspondência), assim como os critérios adicionais que determinam o quanto cada documento corresponde à pesquisa (a função de classificação). As solicitações de pesquisa que produzem um grande número de documentos correspondentes levam mais tempo para serem processadas do que as que produzem um número reduzido de documentos correspondentes. As solicitações de pesquisa que calculam funções de classificação complexas levam mais tempo para serem processadas do que as que efetuam a classificação usando um critério simples, como um único campo. Para ajudar a entender melhor a diferença de complexidade entre solicitações de pesquisa, a CPU consumida por cada solicitação é exibida como parte do resultado.

P: Onde devo executar meu aplicativo de pesquisa para minimizar o tempo de comunicação com meu domínio de pesquisa?

Os aplicativos hospedados na mesma região da AWS em que está o seu domínio de pesquisa experimentarão os tempos de comunicação mais rápidos. O seu domínio de pesquisa deve estar localizado na região que gera a maior parte do seu tráfego de pesquisa.

Escalabilidade

P: O que é uma instância de pesquisa?

Uma instância de pesquisa é um mecanismo de pesquisa específico na nuvem que indexa documentos e responde a solicitações de pesquisa. Ele possui uma quantidade finita de recursos de RAM e de CPU para indexar dados e processar solicitações.

P: O que é uma partição de pesquisa?

Uma partição de pesquisa é a parte dos dados que encaixa em uma determinada instância de pesquisa. Um domínio de pesquisa pode ter uma ou mais partições de pesquisa, e o número de partições de pesquisa pode variar à medida que seus documentos são indexados.

P: Como ocorre o escalonamento do meu domínio de pesquisa para atender às necessidades relacionadas com meu aplicativo?

Os domínios de pesquisa são escalados em duas dimensões: dados e tráfego. À medida que o volume de dados aumenta, são necessárias instâncias de pesquisa mais numerosas (ou maiores) para conter os dados indexados, e o índice é dividido em partições correspondentes às instâncias de pesquisa. À medida que o volume ou a complexidade das solicitações aumentam, cada partição de pesquisa deve ser replicada para providenciar CPU adicional para a partição de pesquisa em questão. Por exemplo, se os dados requerem três partições de pesquisa, haverá três instâncias de pesquisa no domínio de pesquisa. À medida que o tráfego aumenta para além da capacidade de uma única instância de pesquisa, cada partição é replicada para providenciar capacidade de CPU adicional, acrescentando três instâncias de pesquisa ao domínio de pesquisa. Aumentos adicionais no tráfego resultarão em réplicas adicionais, até um máximo de cinco, para cada partição.

P: Quantos dados posso enviar ao meu domínio de pesquisa?

O número de partições de que você precisa depende dos dados e da configuração, portanto a máxima quantidade de dados que você pode enviar é o conjunto de dados que produz 10 partições de pesquisa quando a sua configuração de pesquisa é aplicada. Quando o limite para o número de partições de pesquisa é ultrapassado, seu domínio não aceitará mais uploads até que você exclua documentos e reindexe seu domínio. Se você precisa de mais de 10 partições de pesquisa, entre em contato conosco.

P: Preciso selecionar o número e o tipo de instâncias de pesquisa para o meu domínio de pesquisa?

O CloudSearch é um serviço de pesquisa totalmente gerenciado que escala o domínio de pesquisa e seleciona o número e o tipo de instâncias de pesquisa automaticamente. Todas as instâncias de pesquisa de um determinado domínio de pesquisa são do mesmo tipo, e esse tipo pode mudar com o tempo, à medida que os dados e/ou o tráfego aumentam. Não é possível escolher diretamente o tipo ou o número de instâncias de pesquisa.

P: Como faço para saber o número e o tipo das instâncias de pesquisa contidas no meu domínio de pesquisa?

Você pode saber o número e o tipo de instâncias de pesquisa contidas no seu domínio de pesquisa usando o AWS Management Console, as APIs do Amazon CloudSearch ou as ferramentas de linha de comando do Amazon CloudSearch. O número e o tipo de instâncias de pesquisa variam com o tempo, sendo aumentado ou diminuído de acordo com os dados indexáveis e o tráfego de pesquisa.

P: Com que rapidez meu domínio de pesquisa é escalado para se adaptar às alterações de dados e tráfego?

Os domínios de pesquisa geralmente reagem aos aumentos de variação do tráfego em poucos minutos. As variações no volume de dados ou a redução do tráfego podem levar mais tempo, mas é possível acelerar esse processo invocando uma operação de IndexDocuments .

Segurança

P: Como faço o upload de dados para o Amazon CloudSearch com segurança?

Os dados que você envia são transferidos através de uma conexão SSL protegida e criptografada, usando HTTPS em vez de HTTP, quando você se conecta ao Amazon CloudSearch.

P: Meus dados já estão criptografados. Posso simplesmente enviar os dados criptografados e a chave de criptografia?

Nós não trabalhamos com chaves de criptografia geradas pelo usuário. Você precisará descriptografar os dados e enviá-los usando HTTPS.

P: É possível obter resultados de pesquisa criptografados?

Sim. É possível usar HTTPS para todas as solicitações ao Amazon CloudSearch.

P: Como faço para impedir que determinados usuários acessem meu domínio de pesquisa?

Você pode restringir as solicitações de pesquisa a sub-redes de IP específicas por meio das políticas de acesso do Amazon CloudSearch. Para controlar o acesso dos usuários de forma mais precisa, você precisará autenticar a solicitação antes de enviá-la ao seu domínio de pesquisa.

P: Onde posso encontrar mais informações sobre segurança na AWS?

Para obter mais informações sobre a segurança na AWS, consulte Amazon Web Services: Overview of Security Processes e o Windows on Amazon EC2 Security Guide.

Definição de preço

P: Como será a cobrança e o faturamento do uso que eu fizer do Amazon CloudSearch?

Não há taxas de instalação ou gastos para começar a usar o serviço. Ao término do mês, haverá uma cobrança automática em seu cartão de crédito pela utilização do mês. Você pode visualizar suas despesas relativas ao período de cobrança a qualquer momento no site da AWS. Para isso, faça login em sua conta da Amazon Web Services e, em seguida, clique em Atividade da conta em Sua conta de serviços da web.

P: Quanto custa usar o Amazon CloudSearch?

Para obter informações detalhadas sobre preços, consulte Preço do Amazon CloudSearch.

P: Há uma versão de avaliação disponível para o Amazon CloudSearch?

Sim, há uma versão de avaliação disponível para novos clientes do CloudSearch. Para obter mais informações, consulte a Versão de avaliação de 30 dias do Amazon CloudSearch.

©2013, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.