É possível configurar o Google Cloud Search para exibir conteúdo da Web aos usuários implantando o plug-in indexador do Cloud Search para Apache Nutch (em inglês), um rastreador da Web de código aberto.
Quando você inicia o rastreamento da Web, o Apache Nutch rastreia a Web e usa o plug-in indexador para fazer upload das versões binárias (ou de texto) originais do conteúdo do documento para a API Google Cloud Search. A API Cloud Search indexa o conteúdo e mostra os resultados aos usuários.
Considerações importantes
Antes de implantar o plug-in do indexador, considere as informações a seguir.
Requisitos do sistema
| Requisitos do sistema | |
|---|---|
| Sistema operacional | Somente no Linux:
|
| Software |
|
| Tipos de documentos do Apache Tika | Formatos de documentos compatíveis com o Apache Tika 1.18 |
Implantar o plug-in indexador
Estas etapas descrevem como instalar o plug-in indexador e configurar os componentes dele para rastrear URLs e retornar resultados ao Cloud Search.
Pré-requisitos
Antes de implantar o plug-in indexador, reúna as informações necessárias para conectar o Cloud Search e a fonte de dados:
- Chave privada do Google Workspace (que contém o ID da conta de serviço). Para informações sobre como conseguir uma chave privada, acesse Configurar o acesso à API Cloud Search.
- ID da fonte de dados do Google Workspace. Para informações sobre como conseguir um ID de origem de dados, acesse Adicionar uma origem de dados à pesquisa.
Etapa 1: crie e instale o software de plug-in e o Apache Nutch
Clone o repositório do plug-in indexador do GitHub.
$ git clone https://github.com/google-cloudsearch/apache-nutch-indexer-plugin.git $ cd apache-nutch-indexer-plugin
Confira a versão do plug-in do indexador que você quer:
$ git checkout tags/v1-0.0.5
Crie o plug-in do indexador.
$ mvn package
Para pular os testes ao criar o plug-in, use
mvn package -DskipTests.Faça o download do Apache Nutch 1.15 e siga as instruções de instalação do Apache Nutch.
Extraia
target/google-cloudsearch-apache-nutch-indexer-plugin-v1.0.0.5.zippara uma pasta. Copie a pastaplugins/indexer-google-cloudsearchpara a pastapluginsdo Apache Nutch (apache-nutch-1.15/plugins).
Etapa 2: configurar o plug-in do indexador
Para configurar o plug-in, crie um arquivo chamado plugin-configuration.properties.
O arquivo de configuração precisa especificar os seguintes parâmetros para acessar a origem de dados do Cloud Search.
| Configuração | Parâmetro |
| Código da origem de dados | api.sourceId = 1234567890abcdef
Obrigatório. O ID da origem do Cloud Search que o administrador do Google Workspace configurou para o plug-in do indexador. |
| Conta de serviço | api.serviceAccountPrivateKeyFile = ./PrivateKey.json
Obrigatório. O arquivo da chave da conta de serviço do Cloud Search que o administrador do Google Workspace criou para a acessibilidade do plug-in do indexador. |
Confira abaixo um exemplo de arquivo de configuração:
# data source access
api.sourceId=1234567890abcdef
api.serviceAccountPrivateKeyFile=./PrivateKey.json
O arquivo de configuração também pode conter parâmetros que controlam o comportamento do plug-in, como a forma como ele envia dados para a API Cloud Search e como preenche metadados e dados estruturados. Para descrições desses parâmetros, consulte Parâmetros do conector fornecidos pelo Google.
Etapa 3: configure o Apache Nutch
Abra
conf/nutch-site.xmle adicione os seguintes parâmetros:Configuração Parâmetro Elementos inclusos no plug-in plugin.includes = textObrigatório. Lista de plug-ins a serem usados. Isso precisa incluir pelo menos:
- index-basic
- index-more
- indexer-google-cloudsearch
conf/nutch-default.xmlfornece um valor padrão, mas é necessário adicionar manualmente oindexer-google-cloudsearcha ele.Nomes das metatags metatags.names = textOpcional. Lista separada por vírgulas de tags que mapeiam para propriedades no esquema da fonte de dados correspondente. Para saber mais, consulte Metatags do Nutch-parse.
O exemplo a seguir mostra a modificação necessária para
nutch-site.xml:<property> <name>plugin.includes</name> <value>protocol-(http|httpclient)|urlfilter-regex|index-(basic|more|metadata)|query-(basic|site|url|lang)|indexer-google-cloudsearch|nutch-extensionpoints|parse-(text|html|msexcel|msword|mspowerpoint|pdf|metatags)|summary-basic|scoring-opic|urlnormalizer-(pass|regex|basic)|parse-(html|tika|metatags)|index-(basic|anchor|more|metadata)</value> </property>Abra
conf/index-writers.xmle adicione a seguinte seção:<writer id="indexer_google_cloud_search_1" class="org.apache.nutch.indexwriter.gcs.GoogleCloudSearchIndexWriter"> <parameters> <param name="gcs.config.file" value="path/to/sdk-configuration.properties"/> </parameters> <mapping> <copy /> <rename /> <remove /> </mapping> </writer>A seção
<writer>contém os seguintes parâmetros:Configuração Parâmetro Caminho para o arquivo de configuração do Cloud Search gcs.config.file = pathObrigatório. O caminho (absoluto) completo para o arquivo de configuração do Cloud Search.
Formato de upload gcs.uploadFormat = textOpcional. O formato que o plug-in usa para enviar o conteúdo do documento para a API Cloud Search. Os valores válidos são:
raw: envia conteúdo original e não convertido.text: envia o conteúdo textual extraído. O padrão éraw.
Etapa 4: configurar o rastreamento da Web
Antes de iniciar um rastreamento da Web, configure-o para incluir apenas as informações que sua organização quer disponibilizar. Para mais informações, consulte o tutorial do Nutch.
Configure os URLs iniciais.
Os URLs iniciais controlam o local em que o rastreador da Web começa a rastrear seu conteúdo. O rastreador precisa acessar todo o conteúdo que você quer incluir seguindo os links.
Para configurar os URLs iniciais, siga estas etapas:
- Mude para o diretório de instalação do Nutch:
$ cd ~/nutch/apache-nutch-X.Y/
- Crie um diretório para URLs:
$ mkdir urls
- Crie um arquivo chamado
seed.txte liste um URL por linha.
- Mude para o diretório de instalação do Nutch:
Configure regras de seguir e não seguir.
As regras de seguir controlam quais URLs o rastreador indexa. As regras de não seguir impedem que os URLs sejam rastreados.
Para configurar essas regras:
- Mude para o diretório de instalação do Nutch.
- Editar
conf/regex-urlfilter.txt:$ nano conf/regex-urlfilter.txt
Insira expressões regulares com um prefixo "+" ou "-":
# skip file extensions -\.(gif|GIF|jpg|JPG|png|PNG|ico) # skip protocols (file: ftp: and mailto:) -^(file|ftp|mailto): # allow urls starting with https://support.google.com/gsa/ +^https://support.google.com/gsa/ # accept anything else #+.
Edite o script de rastreamento.
Se o parâmetro
gcs.uploadFormatestiver ausente ou definido como "raw", adicione argumentos-addBinaryContent -base64ao comandonutch index. Esses argumentos enviam ao módulo de indexador do Nutch instruções para incluir o conteúdo binário em Base64.- Abra o script
crawlemapache-nutch-1.15/bin. Adicione as opções conforme mostrado neste exemplo:
if $INDEXFLAG; then echo "Indexing $SEGMENT to index" __bin_nutch index $JAVA_PROPERTIES "$CRAWL_PATH"/crawldb -addBinaryContent -base64 -linkdb "$CRAWL_PATH"/linkdb "$CRAWL_PATH"/segments/$SEGMENT echo "Cleaning up index if possible" __bin_nutch clean $JAVA_PROPERTIES "$CRAWL_PATH"/crawldb else echo "Skipping indexing ..."
- Abra o script
Etapa 5: inicie um rastreamento da Web e fazer upload do conteúdo
Depois de configurar o plug-in indexador, é possível executá-lo no modo local. Use scripts
de ./bin para executar um job de rastreamento.
No exemplo a seguir, presume-se que os componentes estão no diretório local. Execute o Nutch
no diretório apache-nutch-1.15:
$ bin/crawl -i -s urls/ crawl-test/ 5
Os registros de rastreamento estão disponíveis no terminal ou no diretório logs/. Para direcionar a saída de
registro, edite conf/log4j.properties.