| 1 | = Integrando Apache Solr = |
| 2 | |
| 3 | 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. |
| 4 | |
| 5 | = Arquitetura Proposta = |
| 6 | 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: |
| 7 | |
| 8 | Figura 01 |
| 9 | |
| 10 | 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. |
| 11 | 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 |
| 12 | constatemente no IMAP atualizando o banco do solr. |
| 13 | |
| 14 | Figura 02 |
| 15 | |
| 16 | |
| 17 | = Instalação do Solr = |
| 18 | |
| 19 | * INSTALAÇÃO E CONFIGURAÇÃO DO SOLR. |
| 20 | A versão utilizada nesta pesquisa foi a 4.0.0. Para instalação siga os passos: |
| 21 | |
| 22 | 1 - Download do Solr versão 4.0.0 na página http://lucene.apache.org/solr/ |
| 23 | 2 - Descompactar o pacote baixado. |
| 24 | 3 - Substituir o arquivo example/solr/conf/schema.xml e example/solr/solr.xml pelos disponibilizados abaixo. |
| 25 | 4 - Baixar o crawler para indexação disponibilizado abaixo. |
| 26 | 5 - Iniciar o Crawler através da sintaxe. |
| 27 | java -jar crawler.jar [imap_host] [imap_admin_password] [http_solr_host_address] [login_starts_with] |
| 28 | |
| 29 | * ''imap_host - O endereço que está instalado o Expresso Ex: "127.1.1.1"'' |
| 30 | * ''imap_admin_password - Senha do usuário 'expresso-admin' Ex: "admin123"'' |
| 31 | * ''http_solr_host_address - Endereço do servidor do Solr Ex: "http://127.1.1.1:8983/solr/"'' |
| 32 | * ''login_starts_with - Caracteres que esse crawler deverá verificar Ex: "abcde"'' |
| 33 | '' A configuração mudará conforme cada ambiente. '' |
| 34 | |
| 35 | * ATIVAÇÃO DO BANCO SOLR |
| 36 | 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: |
| 37 | |
| 38 | Figura 03. |
| 39 | |
| 40 | 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: |
| 41 | |
| 42 | Figura 04. |
| 43 | |
| 44 | |
| 45 | = Instalação do Crawler = |
| 46 | 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: |
| 47 | http://svn.expressolivre.org/sandbox/expresso-solr/imapCrawler/ |
| 48 | |
| 49 | ''¹ 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.'' |
| 50 | |
| 51 | 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. |
| 52 | |
| 53 | |
| 54 | |