apache solr

23
Apache Solr Šta je Apache Solr i pregled osnovnih funkcionalnosti Nikola Pajić

Upload: nikola-pajic

Post on 17-Nov-2014

497 views

Category:

Technology


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Apache solr

Apache SolrŠta je Apache Solr i pregled osnovnih

funkcionalnosti

Nikola Pajić

Page 2: Apache solr

Zašto brza pretraga?

Pretraga je definisala današnji internet

Ogromna količina podataka

Kako doci do traženog podatka?

Upiti nad bazama – spori?

Page 3: Apache solr

Apache SolrJedno od vodećih rešenja za brzu pretragu

Napravljen oko Lucene (Java) bibioteke za pretragu podataka

Proveren

Koriste ga Buy.com, AOL, CNET, Zappos, CIA, NASA, MTV, Netflix, Disney i mnogi drugi

Page 4: Apache solr

Apache SolrPouzdanSkalabilanTolerantan na greškePodržava indexiranjePodržava replikacijuAutomatski recovery

Page 5: Apache solr

FunkcionalnostiFull-text pretragaHit highlightingFaceted searchDatabase integrationRitch document handling

Ms Word, PDF, Images, Mp3, Zip, itd.AutocompleteMore like thisSpell checking

Page 6: Apache solr

KonfiguracijaXMLCentralizovana i eksterna konfiguracijaNe zahteva poznavanje Java programskog

jezikaObavlja se preko 2 XML fajla

Kontrola runtime parametara (solrconfig.xml)Šema indeksiranja (schema.xml)

Predefinisana polja (float, int, text, double...) Korisnički definisana polja (ukoliko je to potrebno) Utice na indexiranje i kasnije rezultate pretrage

Page 7: Apache solr

Schema.xml

Page 8: Apache solr

Apache SolrSolr je Java web aplikacija

http://localhost:8983/solr/Komunikacija se odvija preko HTTP GET/POST

Nezavistan od platforme Pretraga se obavlja pre API-ja

Pretraga se obavlja korišćenjem Lucene biblioteke za pretragu texta

Index pretrageDokumenti koji sadrže odredjena polja pretrageJedan denormalizovan podatak

Page 9: Apache solr

Apache SolrOptimizovan je za pretragu podatakaIndexiranje podataka i commit su sporiMože se svrstati kao NoSQL rešenjeDocument oriented pretraga

Svi podaci se nalaze u XML dokumentu optimizovanom za pretragu

Nema nikakav oblik zastite/sigurnostiOslanja se na sigurnost same platforme na

kojoj se nalazi

Page 10: Apache solr

Podatak pretrage

Page 11: Apache solr

IndexiranjeMože indeksirati i dokumente

MS Office, PDF, RTF, OpenDocument, Images, Mp3, Zip, itd...

Indexira textualni deo dokumentaKao i meta podatke vezane za dokument

Tip fajlaDatume kreiranja, menjanja, itd...AutoraSve što meta podatak može da sadrži

Page 12: Apache solr

Pretragalocalhost:8983/solr/select?q=search string&start=50&rows=25&facet=on&facet.field=category&sort=category desc

Page 13: Apache solr

RezultatiDefault format = XML&wt=json&wt=php&wt=ruby&wt=python

Page 14: Apache solr

RezultatiXML JSON

Page 15: Apache solr

RezultatiPHP Python

Page 16: Apache solr

Query ParserNapredni upiti

Default parser, podržava napredne parametre pretrage

&deftype=luceneq=title: saint* AND zipcode:[2000 TO 2999]

Jednostavni upitiJednostavna sintaksa, idealan za korisničke

upite&deftype=dismaxq=title: ipod +shuffle –touch

Page 17: Apache solr

Facets (drilldown)Grupisanje rezultataDinamička navigacija – EcommerceJednostavna pretragaRezultat uvek postojiSuper pretraživanje

Facets + Spell checking + “Mora like this”

Page 18: Apache solr

Faceted search

Page 19: Apache solr

Klasični “Advanced search”

Page 20: Apache solr

Ostale funkcionalnosti- Spell checking - Hit highlighting

Page 21: Apache solr

Ostale funkcionalnosti- “More like this” - Autocomplete

Page 22: Apache solr

ImplementacijaJezično nezavistanHTTP komunikacija putem XML/JSONPostoje API klijenti za gotovo sve programske

jezikePHP – solr-php-client.NET - SolrnetJavascript – ajax-solrJava – SolrJRuby – SunspotPython - SolPython

Page 23: Apache solr

Pitanja?