1 / 33

i-Jus Busca em Diário Oficial

i-Jus Busca em Diário Oficial. Bruno Edson Filho Daniel Marques Oliveira José de Anchieta Caraciolo Netto Max José Lins Tímoteo. Roteiro. Motivação Arquitetura Básica do Lucene Componentes do sistema Estrutura do Arquivo Consultas Resultados. Motivação. Anchieta. Contexto.

durin
Télécharger la présentation

i-Jus Busca em Diário Oficial

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. i-JusBusca em Diário Oficial Bruno Edson Filho Daniel Marques Oliveira José de Anchieta Caraciolo Netto Max José Lins Tímoteo

  2. Roteiro • Motivação • Arquitetura Básica do Lucene • Componentes do sistema • Estrutura do Arquivo • Consultas • Resultados

  3. Motivação Anchieta

  4. Contexto • Necessidade de buscar informações nos Diários Oficiais do país (advogados autônomos, escritórios, empresas terceirizadas pelos escritórios, etc.) • Os sites existentes são muito confusos e apresentam muita dificuldade quando se procura informações, pois são publicados como um documento inteiro ou são publicados em partes menores.

  5. Exemplos • Diário Oficial de Pernambuco • http://www.fisepe.pe.gov.br/cepe/diario.htm • Diário Oficial da União (http://www.in.gov.br/) • Diários Oficiais Eletrônicos • http://ediarios.in.gov.br/ediarios/pages/seguranca/login.jsp • Privados • Ledj (Sistema de Leitura Eletrônica dos Diários Oficiais e da Justiça) • http://www.ledj.com.br/ • DOINET (Diário Oficial na Internet) • http://www.doi.com.br/

  6. Solução • Um sistema com interface simples e agradável, semelhante aos sistemas de busca conhecidos (Ex: Google, Yahoo!, Radix) • Busca nos Diários Oficiais • Termos (frase exata e expressões boleanas) • Critérios de ordenação (data de publicação ou relevância) • Resultados • Data de publicação • Documento em cache com salientador • Local do Diário Oficial • Endereço da versão Oficial

  7. Arquitetura Básica do Lucene Bruno Edson

  8. Arquitetura Básica do Lucene

  9. Arquitetura Básica - Lucene • Objetos de acesso à dados (acessíveis) • Camada de negócios • acesso aos arquivos de índices (sistema) • Camada de pesquisa (parser) / Indexação • 7 pacotes (org.apache.lucene.*): • analisys, document, index, queryparser, search, store, util

  10. Pacotes - Lucene • analysys: converter texto -> índices • document: relacionada a arquivos • index: relacionada aos índices • queryparser: QueryParser, parser consulta • search: busca pelos índices • store: abstração dados (BD, arq., RAM) • util: utilizado pelos outros (vetor, tabela)

  11. Tipos de Campos - Lucene • Field.Keyword • Field.UnIndexed • Field.UnStored • Field.Text

  12. Fluxo de Execução - Lucene • Consulta: • QueryParser: Traduzir a consulta • Realiza a consulta • Obtém acesso aos índices • Obtém acesso aos arquivos (BD, arq., RAM) • Indexação: • Aquisição do documento (processamento) • Análise (gera índices) • Grava nos índices • Grava nos arquivos (BD, arq., RAM)

  13. Componentes do Sistema Daniel

  14. Componentes do Sistema

  15. Componentes do Sistema • Analisador Léxico • Converte todas as letras para minúsculas • Retira pontos, barras e hífen de números de identificação concatenando as suas partes • CPF, CNPJ, RG, OAB etc • Retira pontos, barras, hífen e espaços presentes no meio de frases • Retira acentos e cedilhas • Retira stopwords

  16. Campos Existentes • Título (Field.Text) • Publicação (Field.Keyword) • Site (Field.Keyword) • Cache (Field.UnIndexed) • Arquivo (Field.UnIndexed) • Conteudo (Field.Text)

  17. Estrutura do Arquivo Bruno Edson

  18. Estrutura do Arquivo • Estrutura de Índices • Multi-índice • Composto • Conteúdo: • Segmentos • Documentos • Campos • Termos

  19. Escolha de estrutura de índices • Cálculo do nº. de arquivos abertos • Multi = 15300 (índices e campos) • Composto = 900 (índices) • Performance • Composto é 5-10% mais lenta que o multi • Composto é default.

  20. Arquivos de Índices Compostos • Diferença visível • Multi = 10 arq’s. • Composto = 2 arq’s. • Poucos recursos • Redução do número de arquivos • Exceto: segmentos, documentos, campos e termos. • Único .csf por segmento

  21. Arquivos de Índices Compostos • Exemplo: • Multi: • Composto:

  22. Criando um índice composto • Opção default • Explicitar no código • Método: setUseCompound(boolean) IndexWriter writer = new IndexWriter(indexDir, new StandardAnalyzer(), true); writer.setUseCompoundFile(true); • Possibilidade de troca

  23. Conversão entre estruturas • Suporte durante indexação • IndexWriter • setUseCompoundFiles(boolean) • Código: IndexWriter writer = new IndexWriter(indexDir, new StandardAnalyzer(), false); writer.setUseCompoundFile(true); writer.optimize(); writer.close();

  24. Consultas Max

  25. Consulta • Biblioteca Lucene • IndexSearcher • Query (e subclasses) • QueryParser • Hits

  26. Consulta • Idéia básica de uma consulta • QueryParser • Query • IndexSearcher • Hits • Document

  27. Consulta • Tipos de consulta • Or (padrão): • termo1 termo2 • Termo1 OR termo2 • And: • +termo1 +termo2 • termo1 AND termo2 • Parênteses: • (termo1 OR termo2) AND termo3 • ...

  28. Consulta • Tipos de consulta • Expressão(retirando stopwords): • “termo1 termo2” • *: • termo1* • Palavras semelhantes: • termo1~

  29. Score • Tipos • Publicação • Relevância

  30. Score • Biblioteca Lucene • Métodos da classe Hits: • length() • doc(n) • id(n) • score(n)

  31. Resultados Daniel

  32. Resultados • Quantidade de termos • 200.000 • Quantidade de documentos • 1800 • Muitos nomes frequentes • Sistema • http://ijuz.no-ip.info/juri • Ou http://201.8.211.225/juri • Obs: o sistema está rodando no computador de Daniel (dmo), quando quiser acessar programar um horário para que ele ative o sistema

  33. Referências • Gospodnetic, Otis & Hatcher, Erik. Lucene in action. Manning Publications Co, 2005. • CyberNeko Tools for XNI. http://www.apache.org/~andyc/neko/doc. • Jakarta Lucene. http://jakarta.apache.org/lucene. • JLex: A Lexical Analyzer Generator for Java(TM). http://www.cs.princeton.edu/~appel/modern/java/JLex/. • Baeza-Yates, Ricardo & Ribeiro-Neto, Berthier. Modern Information Retrieval. ACM Press, 1999. • CEPE - Diário Oficial do Estado de Pernambuco. http://www.fisepe.pe.gov.br/cepe/diario.htm.

More Related