SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Informacijos
paieška
Trumpas įvadas į Apache Lucene
Mindaugas Žakšauskas
Vilnius Kaunas Java User Group
assert this != null
Kalbėsiu apie
● Probleminę sritį
● Informacijos paieškos teoriją
● Lucene
● Solr (jei liks laiko)
● ?
Who are we?
http://nlp.stanford.edu/IR-book/
Sukaposiu gabalais
(tokenization)
Dokumentas #1:
"The quick brown fox jumps over the lazy dog.”
Word the quick brown fox
Documents 1 1 1 1
Offsets 1[0] 1[4] 1[10] 1[16]
Sukaposiu gabalais
(tokenization) #2
Dokumentas #2:
"I saw a brown fox yesterday. It ran away quickly.”
Word the quick brown fox
Documents 1 1 1, 2 1, 2
Offsets 1[0] 1[4] 1[10], 2[8] 1[16], 2[13]
Stopwords
Anglų:
- artikeliai a, the
Lietuvių:
- prielinksniai: į, nuo
- ištiktukai: oi!
- ?
Quick| ⇒ quick
quick|ly ⇒ quick
Stemming, lowercasing
Apache Lucene
● ACID (+2 phase commit)
● NoSQL (rimtai!)
● Concurrency
● Java (.NET, Python, Ruby)
● Bendruomenė
● Plačiai naudojama
Ne caro laikų Lucene!
Indeksavimo greitis, Lucene v4
Sinonimai
● Vanduo - H2
O
● Reikia spec. žodyno (SynonymMap)
quick brown fox ⇒
"quick", "fast", "brown", "fox"
Fonetinis kodavimas
http://en.wikipedia.org/wiki/Metaphone
0BFHJKLMNPRSTWXY
Stephen Smith ⇒STFN SM0
Boosting (indexing, query)
Užklausos
● field: foo bar
● field: +foo -bar
● field: “foo bar”
● field: +“foo bar” AND blah
● field: f?o bar*
● field: foo~ bar~0.8
● date_field: [2000 TO 2001]
● field: (foo AND bar) OR bob
http://searchhub.org/dev/2011/12/28/why-not-and-or-and-not/
Rezultatų formulė
org.apache.lucene.search.similarities.TFIDFSimilarity
Finite state transducer
mop, moth, pop, star, stop, top
10 million Wikipedia index - 69Mb
Apache Lucene Informacijos paieška
Apache Lucene Informacijos paieška
Apache Lucene Informacijos paieška

Weitere ähnliche Inhalte

Mehr von Kaunas Java User Group

Intro to Java 8 Closures (Dainius Mezanskas)
Intro to Java 8 Closures (Dainius Mezanskas)Intro to Java 8 Closures (Dainius Mezanskas)
Intro to Java 8 Closures (Dainius Mezanskas)Kaunas Java User Group
 
Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)
Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)
Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)Kaunas Java User Group
 
Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)
Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)
Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)Kaunas Java User Group
 

Mehr von Kaunas Java User Group (6)

Eh cache in Kaunas JUG
Eh cache in Kaunas JUGEh cache in Kaunas JUG
Eh cache in Kaunas JUG
 
Java 8 Stream API (Valdas Zigas)
Java 8 Stream API (Valdas Zigas)Java 8 Stream API (Valdas Zigas)
Java 8 Stream API (Valdas Zigas)
 
Intro to Java 8 Closures (Dainius Mezanskas)
Intro to Java 8 Closures (Dainius Mezanskas)Intro to Java 8 Closures (Dainius Mezanskas)
Intro to Java 8 Closures (Dainius Mezanskas)
 
Kaunas JUG#1: Intro (Valdas Zigas)
Kaunas JUG#1: Intro (Valdas Zigas)Kaunas JUG#1: Intro (Valdas Zigas)
Kaunas JUG#1: Intro (Valdas Zigas)
 
Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)
Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)
Kaunas JUG#1: Java History and Trends (Dainius Mezanskas)
 
Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)
Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)
Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)
 

Apache Lucene Informacijos paieška