É possível configurar o Google Cloud Search para exibir conteúdo da Web aos usuários. Para isso, implante o plug-in do indexador do Google Cloud Search para Apache Nutch, 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 do indexador para fazer o upload de versões binárias (ou de texto) originais do conteúdo do documento para a API Indexing do Google Cloud Search. A API Indexing indexa o conteúdo e exibe os resultados para os usuários.
Considerações importantes
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 do indexador
As etapas a seguir descrevem como instalar o plug-in do indexador e configurar os componentes dele para rastrear os URLs especificados e retornar os resultados ao Cloud Search.
Pré-requisitos
Antes de implantar o plug-in do indexador do Apache Nutch do Cloud Search, colete as informações necessárias para conectar o Google Cloud Search e a origem 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 Google 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: criar e instalar o plug-in e o Apache Nutch
Clone o repositório do plug-in do indexador do GitHub.
$ git clone https://github.com/google-cloudsearch/apache-nutch-indexer-plugin.git $ cd apache-nutch-indexer-plugin
Confira a versão desejada do plug-in do indexador:
$ git checkout tags/v1-0.0.5
Crie o plug-in do indexador.
$ mvn package
Para pular os testes durante a criação do plug-in do indexador, 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.zip
(criado na etapa 2) para uma pasta. Copie a pastaplugins/indexer-google-cloudsearch
para a pasta de plug-ins de instalação do Apache Nutch (apache-nutch-1.15/plugins
).
Etapa 2: configurar o plug-in do indexador
Para configurar o plug-in do indexador Apache Nutch, crie um arquivo chamado plugin-configuration.properties
.
O arquivo de configuração precisa especificar os seguintes parâmetros, que são obrigatórios para acessar a origem de dados do Google Cloud Search.
Configuração | Parâmetro |
Código da origem de dados | api.sourceId = 1234567890abcdef
Obrigatório. O ID da origem do Google 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 Google Cloud Search que o administrador do Google Workspace criou para a acessibilidade do plug-in do indexador. |
O exemplo a seguir mostra um arquivo de configuração de exemplo com os parâmetros necessários.
#
# data source access
api.sourceId=1234567890abcdef
api.serviceAccountPrivateKeyFile=./PrivateKey.json
#
O arquivo de configuração também pode conter outros parâmetros que controlam o comportamento do plug-in do indexador. É possível configurar como o
plug-in envia dados para a API Cloud Search, defaultAcl.*
e batch.*
. Também é possível configurar como o plug-in do indexador preenche metadados e dados estruturados.
Para descrições desses parâmetros, acesse Parâmetros de conector fornecidos pelo Google.
Etapa 3: configurar o Apache Nutch
Abra
conf/nutch-site.xml
e adicione os seguintes parâmetros:Configuração Parâmetro Elementos inclusos no plug-in plugin.includes = text
Obrigatório. Lista de plug-ins a serem usados. Isso precisa incluir pelo menos:
- index-basic
- index-more
- indexer-google-cloudsearch
conf/nutch-default.xml
fornece um valor padrão para essa propriedade, mas é necessário adicionar manualmente oindexer-google-cloudsearch
a ela.Nomes das metatags metatags.names = text
Opcional. Lista separada por vírgulas de tags que mapeiam para propriedades no esquema da origem de dados correspondente. Para saber mais sobre como configurar o Apache Nutch para metatags, acesse Nutch-parse metatags.
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.xml
e adicione esta 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 Google Cloud Search gcs.config.file = path
Obrigatório. O caminho (absoluto) completo para o arquivo de configuração do Google Cloud Search.
Formato de upload gcs.uploadFormat = text
Opcional. O formato que o plug-in do indexador usa para enviar o conteúdo do documento para a API do indexador do Google Cloud Search. Os valores válidos são:
raw
: o plug-in indexador envia o conteúdo original e não convertido do documento.text
: o plug-in indexador envia o conteúdo textual extraído. O valor padrão éraw
.
Etapa 4: configurar o rastreamento da Web
Antes de iniciar um rastreamento da Web, configure-o para que ele inclua apenas as informações que sua organização quer disponibilizar nos resultados das pesquisas. Esta seção oferece uma visão geral. Para mais informações sobre como configurar um rastreamento da Web, acesse o tutorial do Nutch.
Configure os URLs iniciais.
Os URLs iniciais controlam o local em que o rastreador da Web do Apache Nutch começa a rastrear o conteúdo. Os URLs iniciais precisam permitir que o rastreador da Web acesse todo o conteúdo que você quer incluir em um determinado rastreamento seguindo os links. Os URLs de início são obrigatórios.
Para configurar os URLs iniciais, siga estas etapas:
Altere o diretório de trabalho para o diretório de instalação nutch:
$ cd ~/nutch/apache-nutch-X.Y/
Crie um diretório para URLs:
$ mkdir urls
Crie um arquivo chamado
seed.txt
e liste os URLs nele com um URL por linha.
Configure regras de seguir e não seguir.
As regras de seguir controlam quais URLs são rastreados e incluídos no índice do Google Cloud Search. O rastreador da Web verifica os URLs quanto às regras de seguir do URL. Apenas os URLs que correspondem a essas regras são rastreados e indexados.
As regras de não seguir impedem que os URLs sejam rastreados e incluídos no índice do Google Cloud Search. Se um URL tiver um padrão de não rastreamento, o rastreador da Web não o rastreará.
Para configurar as regras de URL de seguir e não seguir, siga estas etapas:
Altere o diretório de trabalho para o diretório de instalação nutch:
$ cd ~/nutch/apache-nutch-X.Y/
Edite
conf/regex-urlfilter.txt
para alterar as regras de seguir/não seguir: \$ nano conf/regex-urlfilter.txt
Insira expressões regulares com um prefixo "+" ou "-" para seguir / não seguir extensões e padrões de URL, conforme mostrado nos exemplos a seguir. Expressões abertas são permitidas.
# 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 # (commented out due to the single url-prefix allowed above) #+.
Edite o script de rastreamento.
Se o parâmetro
gcs.uploadFormat
estiver ausente ou definido como "raw", será necessário adicionar argumentos "-addBinaryContent -base64
" para transmitir ao comandonutch index
. Esses argumentos informam ao módulo do indexador do Nutch para incluir conteúdo binário em Base64 quando ele invocar o plug-in do indexador. Por padrão, o script ./bin/crawl não tem esses argumentos.- Abra o script
crawl
noapache-nutch-1.15/bin
. Adicione as opções
-addBinaryContent -base64
ao script, como no exemplo a seguir: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: iniciar um rastreamento da Web e fazer upload do conteúdo
Depois de instalar e configurar o plug-in do indexador, ele poderá ser executado por conta própria no modo local. Use os scripts de ./bin
para executar um job de rastreamento ou
comandos Nutch individuais.
No exemplo a seguir, presume-se que os componentes necessários estão localizados no diretório
local. Execute o Nutch com o seguinte comando no diretório apache-nutch-1.15
:
$ bin/crawl -i -s urls/ crawl-test/ 5
Os registros de rastreamento estão disponíveis na saída padrão (terminal) ou no diretório logs/
. Para
direcionar a saída de geração de registros ou para ver um registro mais detalhado, edite
conf/log4j.properties
.