Como instalar e usar o Apache Solr 4.6.1 com Drupal 7

Olá,

Na Trasys , estou atualmente trabalhando em um projeto envolvendo Solr.
Eu não tinha habilidades no Solr e pedi ajuda e agora estou escrevendo um tutorial para ajudar os iniciantes que desejam instalar o Solr sem o Tomcat em suas máquinas.
É uma forma de agradecer à comunidade e um bom lembrete para a próxima vez 😉

Baixar

Primeiro, baixe o Solr , use a versão mais recente no momento de escrever esta dica: 4.6.1

wget -P /opt/ http://apache.belnet.be/lucene/solr/4.6.1/solr-4.6.1.tgz

Instalação no servidor

Descompacte o arquivo

cd /opt
tar
-xzvf solr-4.6.1.tgz

Crie um link simbólico

ln -s /opt/solr-4.6.1/example /opt/solr

Instale um script de inicialização

Este script é para o Debian 7 , graças a Weber Macedo .

Por padrão, este script iniciará uma instalação multicore do Solr, esta é a melhor configuração.

Para instalá-lo, copie o conteúdo do link em um novo arquivo e coloque-o em /etc/init.d/solr ou faça:

wget https://gist.github.com/Polzme/7367523/raw/9ccf8b040b70eca214497dc6ee2b23e9abb0b8ef/solr -O /etc/init.d/solr

Não se esqueça de definir o executável do arquivo:

chmod +x /etc/init.d/solr

Copie os arquivos necessários da instalação do Drupal para o Solr

Para trabalhar com o Solr, você tem opções. Você trabalha com o módulo apachesolr ou com a API de pesquisa e a API de pesquisa Solr .

Este módulo fornece alguns arquivos Solr pré-configurados de que você precisa para fazê-lo funcionar corretamente com o Drupal.
Usaremos a configuração do módulo Solr da API de pesquisa , eles parecem estar mais atualizados.
No meu caso, o site Drupal está instalado em / home / staging / public_html / .

cp -ar /home/staging/public_html/sites/all/modules/search_api_solr/solr-conf/4.x/* /opt/solr/multicore/core0/conf

Se estiver usando o Search API Solr <= versão 7.x-1.3, você precisará editar manualmente o arquivo solrconfig.xml e remover três linhas.

<useCompoundFile>false</useCompoundFile>
<ramBufferSizeMB>32</ramBufferSizeMB>
<mergeFactor>10</mergeFactor>

Se você examinar cuidadosamente o arquivo, verá que essas diretivas estão duplicadas, então é por isso que o Solr pode causar problemas.

Inicie o serviço Solr

Você pode iniciá-lo manualmente ou usando o script fornecido anteriormente.

Para iniciá-lo manualmente:

java -Dsolr.solr.home=multicore -jar start.jar

Para iniciá-lo usando o serviço:

service solr start

ou

/etc/init.d/solr start

O bom de usar o serviço é que você pode adicioná-lo à configuração para que seja iniciado automaticamente na reinicialização:

update-rc.d solr defaults

Para verificar se o serviço foi iniciado, você pode executar:

service solr status

Ele deve retornar:

[ ok ] solr is running.

Agora que o Solr está em execução, você deve conseguir acessar o painel do Solr em: http: // localhost: 8983 / solr

Cenário

Caso contrário, verifique a permissão do arquivo e as etapas anteriores, talvez você tenha esquecido algo.

Além disso, você precisa ter pelo menos Java 1.6 para fazer o Solr funcionar corretamente.

Proteja seu painel Solr

Existem duas maneiras de proteger o painel do Solr. O primeiro é ajustar alguns arquivos do Solr e adicionar uma proteção de login / senha, mas isso é um tanto complicado e chato, porque a cada atualização do Solr, você tem que editar esses arquivos manualmente.

O segundo é usar iptables para bloquear conexões externas à porta 8983.

Eu gosto de KISS coisas, então vou explicar como usar o iptables:

iptables -A INPUT -p tcp -s localhost --dport 8983 -j ACCEPT
iptables
-A INPUT -p tcp --dport 8983 -j DROP

O primeiro comando diz ao iptables, ” aceite todas as conexões de localhost na porta 8983 “, e o segundo diz ao iptables, ” descarte todo o tráfego para a porta 8983 ” – visto que o iptables obedece às regras de cima para baixo, o tráfego localhost é deixado passar, enquanto outro tráfego é negado. (fonte: Jeff Gerling )

Para salvar essas regras permanentemente (para que persistam após uma reinicialização) no Debian ( documentação ), certifique-se de salvar a configuração do firewall.

Existem muitas maneiras de fazer isso, a mais fácil é fazer:

iptables-save > /etc/iptables.up.rules

Não se esqueça de revisar o arquivo manualmente, apenas para garantir.

Configuração Drupal

Depois que o Solr estiver configurado, você poderá se conectar ao Solr no Drupal.

Cenário

Agora você pode aproveitar a integração do Solr em seu site!

Atualização do Apache Solr

Este é o procedimento para atualizar do Apache Solr 4.6.0 para 4.6.1:

/etc/init.d/solr stop
wget
-P /opt/ http://apache.belnet.be/lucene/solr/4.6.1/solr-4.6.1.tgz
cd
/opt
tar
-xzvf solr-4.6.1.tgz
cp
-ar /opt/solr/multicore/core0 /opt/solr-4.6.1/example/multicore/
rm
/opt/solr
ln
-s /opt/solr-4.6.1/example /opt/solr
/etc/init.d/solr start

Obter mais ajuda?

IRC: # drupal-apachesolr no Freenode

Agradecimentos especiais a Weber Macedo pelas explicações e pelos hangouts sobre isso!