wiki:Documentacao/SolrExpresso

Version 6 (modified by gregory, 11 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:



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.



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:



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:



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.

Restruturação da tela da busca Avançada

A nova tela será mais simples com os campos necessários e mais simples para os usuários facilitando sua usabilidade.





Implementação da Busca Simples na Avançada (Solr)

Habilitado a funcionabilidade da busca simples na busca avançada, utilizando o banco solr. As Alterações do código estão disponíveis no trac.  http://svn.expressolivre.org/sandbox/expresso-solr/

Alterações no Crawler

Após alguns testes em uma base mais robusta e versão mais atual em relação ao início do projeto, houve a necessidade de realizar algumas alterações, para uma melhor performace de sua execução. Todas as alterações estão disponiveis em:  http://svn.expressolivre.org/sandbox/expresso-solr/imapCrawler/

Attachments