wiki:Documentacao/SolrExpresso

Version 2 (modified by gregory, 6 years ago) (diff)

--

Integrando Apache Solr

O Projeto de Evolução do Mecanismo de pesquisa no Expresso Livre, tem o objetivo de aprimorar a experiência do usuário na tarefa de recuperar informações nos e-mails armazenados no Expresso, avaliando diferentes plataformas de busca. A ferramenta apontada na pesquisa foi o SOLR, um Crawler¹ foi implementado para alimentar e atulizar o solr, assim que é realizado esta indexação a pesquisa passa a ser feita no Solr que retornar os parâmetros para a busca no IMAP.

Arquitetura Proposta

Na arquitetura atual, o processo de busca é realizado através de uma API-PHP que realiza a busca no Cyrus/Imap? através da função imap_search(), que realiza uma busca na caixa de correio no fluxo IMAP. Conforme figura abaixo:


No image "BemVindoAoExpresso.png" attached to Documentacao/SolrExpresso


Para nova arquitetura será adicionado o banco do solr e o crawler onde será realizada algumas alterações na API-PHP para a nova integração. Na arquitetura atual o php, como dito anteriormente, realiza a busca diretamente no IMAP, a nova proposta a API-PHP, realizará a pesquisa no solr, onde será armazenado as mensagens indexadas. O crawler é o responsável em realizar esta indexação constatemente no IMAP atualizando o banco do solr.

Figura 02

Instalação do Solr

  • INSTALAÇÃO E CONFIGURAÇÃO DO SOLR.

A versão utilizada nesta pesquisa foi a 4.0.0. Para instalação siga os passos:

1 - Download do Solr versão 4.0.0 na página  http://lucene.apache.org/solr/ 2 - Descompactar o pacote baixado. 3 - Substituir o arquivo example/solr/conf/schema.xml e example/solr/solr.xml pelos disponibilizados abaixo. 4 - Baixar o crawler para indexação disponibilizado abaixo. 5 - Iniciar o Crawler através da sintaxe. java -jar crawler.jar [imap_host] [imap_admin_password] [http_solr_host_address] [login_starts_with]

  • imap_host - O endereço que está instalado o Expresso Ex: "127.1.1.1"
  • imap_admin_password - Senha do usuário 'expresso-admin' Ex: "admin123"
  • http_solr_host_address - Endereço do servidor do Solr Ex: " http://127.1.1.1:8983/solr/"
  • login_starts_with - Caracteres que esse crawler deverá verificar Ex: "abcde"

A configuração mudará conforme cada ambiente.

  • ATIVAÇÃO DO BANCO SOLR

Habilitado a opção de utilização do recurso de busca através do SOLR. Para realizar esta configuração é necessário logar-se como expresso-admin, acessar a aba configurações, na opção Configuração do servidor conforme figura abaixo:

Figura 03.

O solr é é atualizado pelo crawler que varre o imap e realiza a atualização do banco solr com as mensagens indexadas, portanto sem a ativação do crawler o solr ficará desatualizado é necessário ativá-lo e apontar seu Ip conforme imagem abaixo:

Figura 04.

Instalação do Crawler

Um modelo do crawler vem no pacote que será baixado na comunidade Apache, porém um crawler otimizado conforme os testes realizados no protótipo funcional da pesquisa pode ser encontrado:  http://svn.expressolivre.org/sandbox/expresso-solr/imapCrawler/

¹ Crawler - é um indexador que realizará o trabalho de indexação e uniformização das mensagens, para que a busca seja mais rápida. Sua função é varrer os e-mails criando uma base de dados para o retorno das buscas.

O projeto está em fase de testes e nova implementações, em breve estaremos atualizando o documento com novas funções. No fórum está aberto uma postagem em desenvolvimento para possíveis dúvidas.

Attachments