Para configurar o Google Cloud Search para exibir conteúdo da Web aos usuários, implante o plug-in 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 das versões binárias (ou de texto) originais do conteúdo do documento para a API de indexação do Google Cloud Search. A API de indexação indexa o conteúdo e exibe os resultados aos usuários.
Considerações importantes
Requisitos do sistema
Requisitos do sistema | |
---|---|
Sistema operacional | Somente 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 indexador para 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 Adicione uma fonte de dados para pesquisar.
Etapa 1: criar e instalar o software do 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 ao criar o 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 o
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 para 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 de chave da conta de serviço do Google Cloud Search que o administrador do Google Workspace criou para garantir a acessibilidade do plug-in do indexador. |
O exemplo a seguir mostra uma amostra de arquivo de configuração 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
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 ver descrições desses parâmetros, acesse Parâmetros do 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. Ela precisa incluir pelo menos:
- index-basic
- index-more
- indexer-google-cloudsearch
conf/nutch-default.xml
fornece um valor padrão para essa propriedade, mas você também precisa adicionar manualmenteindexer-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 Metatags 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.xml
e 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 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 em que o plug-in do indexador envia o conteúdo do documento para a API do indexador do Google Cloud Search. Os valores válidos são:
raw
: o plug-in do indexador envia o conteúdo do documento original e não convertido.text
: o plug-in indexador envia o conteúdo de texto 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 informações que sua organização quer disponibilizar na pesquisa resultados. Esta seção fornece uma visão geral: para mais informações sobre como configurar um rastreamento da Web, acesse a Tutorial do Nutch.
Configure os URLs de início.
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 devem permitir que o rastreador da Web acesse todo o conteúdo que você deseja incluir em um rastreamento específico seguindo os links. Os URLs iniciais 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.
Configurar 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 em relação às seguir as regras de 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 mudar as regras de seguir/não seguir: \$ nano conf/regex-urlfilter.txt
Insira expressões regulares com um sinal "+" ou "-" para seguir / não seguir padrões de URL e extensões, como mostrado no 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", é preciso adicionar "-addBinaryContent -base64
" a serem transmitidos para anutch index
kubectl. Esses argumentos informam ao módulo indexador do Nutch para incluir conteúdo binário. em Base64 quando invoca o plug-in do indexador. O script ./bin/crawl não tem esses argumentos por padrão.- Abra o script
crawl
emapache-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 pode ser executado em
por conta própria no modo local. Use os scripts de ./bin
para executar um job de rastreamento ou
comandos individuais do Nutch.
O exemplo a seguir pressupõe que os componentes necessários estão localizados no diretório
diretório. 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 std (terminal) ou no diretório logs/
. Para
direcione a saída de registro ou, para um registro mais detalhado, edite
conf/log4j.properties
: