Drupal 8 e Apache Solr

Nesse tutorial, vou mostrar como criar uma busca no Drupal 8 utilizando o Apache Solr.

Vamos precisar dos módulos search_api_solr e search_api. Instale-os utilizando o composer, assim suas dependências virão juntas. Na raiz do seu projeto, execute os seguintes comandos:

composer config repositories.drupal composer https://packagist.drupal-composer.org
composer require drupal/search_api_solr 8.1.0-alpha4

Obs.: Estou utilizando a versão "8.1.0-alpha4", verifique as versões disponíveis em drupal-composer.

Neste tutorial, estou utilizando o Apache Solr versão 4.3.0. As configurações abaixo estão seguindo essa versão.
Fique à vontade para instalar a versão que preferir. Porém, fique atento no caminho das pastas, elas podem variar de versão para versão.

Copie os arquivos localizados dentro do módulo "search_api_solr" (search_api_solr/solr-conf/4.x) e jogue-os dentro da pasta "conf" localizada dentro da sua instalação do Apache Solr (solr-4.3.0/example/solr/collection1/conf/).

O próximo passo é criar o Server no Search api.

Habilite os módulos search_api_solr e search_api.

Vá em: "Administração - Configurações - Search api" (admin/config/search/search-api).

Clique em "Add server".

As configurações do meu server ficaram da seguinte forma:


O próximo passo é criar o Index.

Volte para: "Administração - Configurações - Search api" (admin/config/search/search-api).

Clique em "Add index".

Em "Server", selecione o server do Apache Solr que você acabou de criar.


Clique em "Save and edit".

Após salvar, clique na aba "Fields". Clique em "Add fields" para adicionar os campos que serão indexados.


Faça as configurações desejadas e salve suas alterações.

Após salvar, clique na aba "View" e em seguida em "Index now" para indexar os conteúdos do site.



O próximo passo é criar a View que irá utilizar como base para o Index criado.

Vá em: "Administração - Estrutura - Views" (admin/structure/views/add).

Em "Show", selecione o Index do Apache Solr que você criou.


Crie sua view utilizando os campos indexados. Veja abaixo o meu exemplo:


Acesse sua busca e veja o resultado final.


Até o próximo tutorial.