= 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: [[BR]] [[Image(arquitetura.png, 40%)]] [[BR]] 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. [[BR]] [[Image(nova_arquitetura.png, 40%)]] [[BR]] = 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: [[BR]] [[Image(acesso_conf.png, 40%)]] [[BR]] 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: [[BR]] [[Image(habilitacao.png, 40%)]] [[BR]] = 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. [[BR]] [[Image(folders01.png, 40%)]] [[BR]] [[BR]] [[Image(folders02.png, 40%)]] [[BR]] = 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/