A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

i-Jus Busca em Diário Oficial

Apresentações semelhantes


Apresentação em tema: "i-Jus Busca em Diário Oficial"— Transcrição da apresentação:

1 i-Jus Busca 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
Diário Oficial da União (http://www.in.gov.br/) Diários Oficiais Eletrônicos Privados Ledj (Sistema de Leitura Eletrônica dos Diários Oficiais e da Justiça) DOINET (Diário Oficial na Internet)

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 Conteúdo: Multi-índice
Composto Conteúdo: Segmentos Documentos Campos Termos

19 Escolha de estrutura de índices
Cálculo do nº. de arquivos abertos Multi = (í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 IndexSearcher: faz a busca Query: armazena uma consulta QueryParser: transforma uma consulta digitada por alguém em um objeto Query Hits: é o resultado da busca já ordenado. Referências para os documentos recuperados

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

27 Consulta Tipos de consulta Or (padrão): And: Parênteses: ...
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) Score(n) maior que 0 e menor ou igual a 1 baseado no maior score 20 documentos por página

31 Resultados Daniel

32 Resultados Quantidade de termos Quantidade de documentos
Quantidade de documentos 1800 Muitos nomes frequentes Sistema Ou 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. Jakarta Lucene. JLex: A Lexical Analyzer Generator for Java(TM). Baeza-Yates, Ricardo & Ribeiro-Neto, Berthier. Modern Information Retrieval. ACM Press, 1999. CEPE - Diário Oficial do Estado de Pernambuco.


Carregar ppt "i-Jus Busca em Diário Oficial"

Apresentações semelhantes


Anúncios Google