28
Introdução ao Lucene.Net Bruno Lopes http://netpont o.org 5ª Reunião Presencial - 12/12/2009

Introdução ao Lucene.net

Embed Size (px)

DESCRIPTION

Apresentação sobre o Lucene.net, um framework open-source desenvolvido em .NET que permite desenvolver motores de indexação e busca, com demonstrações práticas de criação de índices e busca na 5ª reunião presencial da comunidade NetPonto

Citation preview

Page 1: Introdução ao Lucene.net

Introdução ao Lucene.NetBruno Lopes

http://netponto.org5ª Reunião Presencial - 12/12/2009

Page 2: Introdução ao Lucene.net

Bruno Lopes

1980 1985 1990 1995 2000 2005 2010

Chart Title

Page 3: Introdução ao Lucene.net

o quê porquê como

Page 4: Introdução ao Lucene.net
Page 5: Introdução ao Lucene.net

o quê

Page 6: Introdução ao Lucene.net

Text Search EngineLorem ipsum dolor sit amet, consectetur adipiscing elit. imperdiet mattis placerat. Duis sagittis vehicula lacus, a mauris lectus ultrices sit amet.

Donec porta urna eget ipsum ullamcorper vitae consequat nunc pulvinar. Donec nec ligula sem.

Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed blandit magna leo.

Nunc ut mauris est. Nunc imperdiet ultricies libero a vulputate.

Mauris dapibus, mauris in pharetra auctor, sapien est feugiat metus, ac suscipit mi erat nec leo. Etiam viverra, erat eu vestibulum facilisis, ligula dolor blandit sapien, et viverra sem eros aliquam libero.

Aliquam mauris vitae luctus arcu. Sed dignissim lorem hendrerit elit semper tristique. Ut et augue suscipit velit sodales bibendum.

Donec lectus dolor, facilisis non facilisis eget, vehicula eget odio. Mauris sed dui non tortor pellentesque condimentum vitae et purus.

Nunc ut ultricies est. Nunc imperdiet libero a vulputate.

Nunc ut mauris est. Nunc imperdiet ultricies libero a vulputate.

Metus dapibus, mauris in pharetra auctor, sapien est feugiat, ac suscipit mi erat nec leo.

Nunc ut mauris est. Nunc imperdiet ultricies libero a vulputate.

Etiam viverra, erat eu vestibulum facilisis, mauris ligula dolor blandit sapien, et viverra sem eros aliquam libero.

Mauris dapibus, mauris in pharetra auctor, sapien est feugiat metus, ac suscipit mi mauris erat nec leo. Etiam viverra, erat eu vestibulum facilisis, ligula dolor blandit sapien, et viverra sem eros aliquam libero.

Mauris dapibus, pharetra auctor, sapien est feugiat metus, ac suscipit mi erat nec leo. Etiam viverra, erat eu vestibulum facilisis, ligula dolor blandit sapien, mauris et viverra sem eros aliquam libero.

Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

Donec lectus dolor, facilisis non facilisis eget, vehicula eget odio. Morbi sed dui non tortor pellentesque condimentum vitae et purus.

Page 7: Introdução ao Lucene.net
Page 8: Introdução ao Lucene.net
Page 9: Introdução ao Lucene.net
Page 10: Introdução ao Lucene.net

V1.0

2000

V2.02006

V3.02009

Page 11: Introdução ao Lucene.net

Alternativas

Base Ports

Solr

Nutch

PyLucene

Lucene.net

SQL Server FTS Xapian Ferret

Page 12: Introdução ao Lucene.net

Porquê?

Page 13: Introdução ao Lucene.net

Problema

“história de portugal”

Page 14: Introdução ao Lucene.net

Procuradirecta

SELECT * LIKE ‘%query%’

SQL ServerFull-Text Search Lucene

Page 15: Introdução ao Lucene.net

Como?

Page 16: Introdução ao Lucene.net

Index

Indexing Searching

Page 17: Introdução ao Lucene.net

Index

Indexing

Document

IndexWriter

Entidades

Page 18: Introdução ao Lucene.net

IndexSearcher

Query

QueryParser

User Query

Search Results

Index

Searching

Page 19: Introdução ao Lucene.net

IndexWriter

Analyzer

1

Document

Field

Field

Field

2

Field

Value

Name

Options

3

47

Field

Value

Name

Options

56

Index

Indexing

Page 20: Introdução ao Lucene.net

IndexWriter

IndexWriter

IndexWriter

IndexWriter

IndexWriter

IndexWriter

1

2

3

Indexing

Index

Index

Index

Index

Index

Index

Page 21: Introdução ao Lucene.net

IndexSearcher

Query

Query Security Trimming

Machine Created FiltersQuery

Query

QueryParser

Analyzer

1

2

3

4

5

6

7

Search Results

Results

Score

DocIdDocument

Field

Field

Field

User Query

Indexing

Index

Page 22: Introdução ao Lucene.net

AnalyzersIsto é uma frase para mostrar como funcionam Analisadores.

Isto é mostrarfrase para como funcionam Analisadoresuma

tokenize

filter stopwords

Isto é mostrarfrase para como funcionam analisadores

reduce to stems

ist é mostrfras par como funcion analis

isto é mostrarfrase para como funcionam analisadoresuma

lowercase

Page 23: Introdução ao Lucene.net

Indexação e Procura

demonstração

Page 24: Introdução ao Lucene.net

Lucene

Analisadores

Documentos semelhantes

Optimizações

Indices em memória

Highlighting

Term/Field boosting

Page 25: Introdução ao Lucene.net

??

??? ?

?

Page 26: Introdução ao Lucene.net

ReferênciasLucene

– http://lucene.apache.org

Lucene.net– http://incubator.apache.org/lucene.net

Luke– http://www.getopt.org/luke

Código-fonte desta apresentação– http://github.com/brunomlopes

Page 28: Introdução ao Lucene.net

Obrigado!Bruno [email protected]://brunomlopes.comhttp://twitter.com/brunomlopes