Apache Lucene Sistemas de busca com técnicas de Recuperação de Informação
Marco ReisConteúdo
Estamos na Era Digital. Geramos dados a todo o momento, notícias, livros, e-mails, cadastros, logs, redes sociais, trânsito - tudo o que a sociedade faz gera algum tipo de informação. Em função dessa grande quantidade de dados e do pouco tempo disponível para fazer nossas tarefas, nasceram os sistemas de busca, que fazem parte de uma área da computação chamada de Recuperação da Informação. A informação deve ser fácil de encontrar para ser útil e é nesse ponto que os buscadores tornam o trabalho mais produtivo. A internet mudou a forma como vivemos e hoje utilizamos as ferramentas de busca para tudo no nosso cotidiano.
Neste livro, Marco Reis fala sobre sistemas de busca e as tecnologias usadas para resolver esse problema. Tendo em vista a necessidade de informação do usuário moderno, que está acostumado a encontrar o que procura facilmente em ferramentas como o Google, sabemos que em nossos sistemas precisamos apresentar a mesma funcionalidade de busca. Você aprenderá como criar motores de busca com o Lucene, com um aprofundamento em recursos avançados, incluindo o uso de outras ferramentas, como o Hibernate Search e o Apache Nutch, e técnicas como web crawling e web scraping.
Sumário
- 1 Introdução
- 1.1 Linguagem natural
- 1.2 Sistemas de busca
- 1.3 Apache Lucene
- 1.4 Muito mais do que apenas buscas
- 1.5 O que um motor de busca não faz
- 1.6 Ecossistema do Lucene
- 1.7 Aplicações de exemplo e código-fonte
- 2 Conceitos de recuperação da informação
- 2.1 Recuperação da Informação
- 2.2 Índice
- 2.3 Documento
- 2.4 Campo
- 2.5 Termo
- 2.6 Fases de processamento
- 2.7 Dados estruturados
- 2.8 Dados semiestruturados
- 2.9 Dados não estruturados
- 2.10 Índice invertido
- 3 Indexação e busca
- 3.1 O que vamos precisar
- 3.2 Primeira fase: indexação
- 3.3 Segunda fase: a busca
- 3.4 Removendo documentos do índice
- 3.5 Atualizando documento no índice
- 4 Tipos de busca
- 4.1 Comparação com uma consulta SQL
- 4.2 Sintaxe clássica de buscas
- 4.3 Buscas com a sintaxe clássica
- 4.4 Operadores lógicos
- 4.5 Busca com elevação (boost)
- 4.6 Expressão regular
- 4.7 API do Lucene
- 5 Principais classes do Lucene
- 5.1 Document
- 5.2 Field
- 5.3 IndexWriter
- 5.4 Directory
- 5.5 IndexReader
- 6 Configurações avançadas
- 6.1 Configurações da indexação
- 6.2 Performance da configuração padrão
- 6.3 Tipos de arquivo
- 6.4 Controlando a segmentação do índice
- 6.5 Analyzer
- 7 Integração com sistemas corporativos
- 7.1 Modelo de dados
- 7.2 Um buscador para sistemas web
- 7.3 Índice Produto
- 7.4 Carga inicial dos dados
- 7.5 O managed bean BuscaLivreProdutoBean
- 7.6 Paginação com Lucene
- 7.7 Atualizando o índice com temporizador
- 7.8 Índice Venda
- 8 Hibernate Search ORM
- 8.1 Configuração do projeto
- 8.2 Indexando dados relacionais com Hibernate Search
- 8.3 Consultando com Hibernate Search
- 8.4 Indexando campos numéricos
- 8.5 Indexando associações entre classes
- 8.6 Indexando campos binários
- 9 Recursos avançados
- 9.1 Sinônimos
- 9.2 Frequência dos termos
- 9.3 Indexando campos com vetores
- 9.4 Corretor ortográfico (spell checker)
- 9.5 Sugestão de resultados (suggester)
- 9.6 Consulta "More Like This" (MLT)
- 9.7 Marcando texto com Highlighter
- 9.8 Faceted search/navigation
- 10 Extraindo dados da internet
- 10.1 Web crawling
- 10.2 Web scraping
- 10.3 Considerações sobre performance
- 10.4 Considerações legais e éticas
- 11 Referências bibliográficas
Autor
Marco Reis
Marco Reis é Engenheiro de Software e trabalha em projetos de big data e inteligência artificial. Mestre em Computação Aplicada pela Universidade de Brasília, tem artigos publicados e apresentados em congressos nacionais e internacionais nas áreas de Big Data e Computação em Nuvem. Como desenvolvedor de software tem experiência em Java, microservices, messaging e NLP. Seu site pessoal é http://marcoreis.net, no qual escreve artigos sobre tecnologia.
Dados do produto
- Número de páginas:
- 382
- ISBN:
- 978-85-7254-027-8
- Data publicação:
- 09/2019