Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Solr

1,408 views

Published on

Opis osnovne konfiguracije iskalnega pogona Solr z najboljšimi praksami za slovenščino. Priloga k predavanju v Kiberpipi.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Solr

  1. 1. SolrKvalitetno iskanje besedil na vaši spletni strani
  2. 2. Solr• Kaj in zakaj?• Osnove iskanja vsebine• Osnovna konfiguracija• Jeziki in več jeder• Osvetljevanje in grupiranje Solr 28.1.2013 2
  3. 3. Iskanje po besedilih Kako pa Google res dela?Solr 28.1.2013 3
  4. 4. Iskanje po besedilih ? ljubljana ! Protesti se nadaljujejo v Ljubljani, Bohinju, Ajdovščini in Murski SobotiSolr 28.1.2013 4
  5. 5. Iskanje po besedilih• Počasno• Nenaravno, nenatančnoSolr Strip z http://www.xkcd.com/55/ 28.1.2013 5
  6. 6. Hitro iskanjeSolr 28.1.2013 6
  7. 7. „Pravilno“ iskanjeljubljana Ljubljane ljubljani ljubljanskiSolr 28.1.2013 7
  8. 8. „Pravilno“ iskanje Tokenizacija Normalizacija Krnjenje KombiniranjeSolr 28.1.2013 8
  9. 9. „Pravilno“ iskanje Tokenizacija Normalizacija Krnjenje Kombiniranje Urad US-CERT je izjavil, da je »MD5 algoritem zlomljen in neprimeren za nadaljnjo uporabo«. urad uscert izjavil md5 algoritem zlomljen neprimeren nadaljnjo uporaboSolr 28.1.2013 9
  10. 10. „Pravilno“ iskanje Tokenizacija Normalizacija Krnjenje Kombiniranje urad uscert izjavil md5 algoritem zlomljen neprimeren nadaljnjo uporabo urad uscert izjaviti md5 algoritem zlomljen neprimeren nadaljnji uporabaSolr 28.1.2013 10
  11. 11. „Pravilno“ iskanje Tokenizacija Normalizacija Krnjenje Kombiniranje urad uscert izjaviti md5 algoritem zlomljen neprimeren nadaljnji uporaba urad izjaviti urad uscert izjaviti md5 urad uscert izjaviti izjaviti md5 algoritem uscert uscert izjaviti uscert izjaviti md5 …Solr 28.1.2013 11
  12. 12. Iskanje Indeksiranje Tokenizacija Normalizacija Krnjenje Kombiniranje Iskanje ? Tokenizacija Normalizacija Krnjenje KombiniranjeSolr 28.1.2013 12
  13. 13. Namestitev in uporaba Osnovna konfiguracijaSolr 28.1.2013 13
  14. 14. Namestitevgithub.com/izacus/solr_exampleSolr 28.1.2013 14
  15. 15. Namestitev Baza z eno samo tabelo! Shema in tipi definirani v schema.xmlSolr 28.1.2013 15
  16. 16. Namestitev• SOLR_HOME o solrconfig.xml - konfiguracija vseh jeder o news - jedro • conf - shema in konfiguracija jedra • data - indeks in podatki • lib - morebitne knjižniceSolr 28.1.2013 16
  17. 17. Namestitev schema.xml Definicija polj, tipov polj in parametrov procesiranja teksta http://wiki.apache.org/solr/AnalyzersTokenizersTokenFiltersSolr 24. 10. 2012 17
  18. 18. Uporaba /update {"add": {"doc" : {"id" : "849323", "naslov": "Naslov članka…", … }, "commit" : {}, "delete": {"id" : "3829382" }, "delete": {"query“ : "*:*" } }Solr 24. 10. 2012 18
  19. 19. Uporaba /select wt=json - json format, možni tudi drugi q=<poizvedba> - sama poizvedba fl=<polja> - polja za poizvedbo start=<začetek> - prva vrnjena vrstica (za paginacijo) rows=<št. vrstic> - število vseh vrstic (za paginacijo) sort=<polja> - sortiranje po poljih fq=<filter> - poizvedba za filtriranjeSolr 24. 10. 2012 19
  20. 20. Namestitev solrconfig.xml URLji in privzete nastavitve za poljaSolr 24. 10. 2012 20
  21. 21. Več jeder in jezikovSolr 28.1.2013 21
  22. 22. Jedra Samostojni indeksi Vsi znotraj enega procesaSolr 24. 10. 2012 22
  23. 23. Jeziki Dva pristopa 1.) Za vsak jezik eno jedro 2.) Dinamična poljaSolr 24. 10. 2012 23
  24. 24. Jeziki Solr /slovenian /englishSolr 24. 10. 2012 24
  25. 25. Jeziki shards=<url,url,url> Poizvedba čez več (oddaljenih) jederSolr 24. 10. 2012 25
  26. 26. Slovenščina Lemmagen http://lemmatise.ijs.si/ Knjižnica za Solrhttps://bitbucket.org/mavrik/slovene_lemmatizer Solr 24. 10. 2012 26
  27. 27. Slovenščina<charFilter class="solr.HTMLStripCharFilterFactory"/><tokenizer class="solr.StandardTokenizerFactory"/><filter class="solr.ClassicFilterFactory" /><filter class="solr.WordDelimiterFilterFactory" preserveOriginal="1" /><filter class="solr.LowerCaseFilterFactory" /><filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true" /><filter class="solr.ASCIIFoldingFilterFactory" /><filter class="si.virag.solr.RdrLemmatizerFactory" dictionary="<pot_do_slovarjev>/lem-me-sl.bin" /><filter class="solr.ShingleFilterFactory" maxShingleSize="3" outputUnigrams="true" /> Solr 24. 10. 2012 27
  28. 28. Angleščina<charFilter class="solr.HTMLStripCharFilterFactory"/><tokenizer class="solr.StandardTokenizerFactory"/><filter class="solr.WordDelimiterFilterFactory" preserveOriginal="1" /><filter class="solr.LowerCaseFilterFactory"/><filter class="solr.ASCIIFoldingFilterFactory"/><filter class="solr.EnglishPossessiveFilterFactory" /><filter class="solr.PorterStemFilterFactory" /><filter class="solr.ShingleFilterFactory" maxShingleSize="3" outputUnigrams="true"/> Solr 24. 10. 2012 28
  29. 29. Osvetljevanje in grupiranje Highlighting / FacetingSolr 28.1.2013 29
  30. 30. Osvetljevanje /select hl=true - vklop osvetljevanja hl.fl=<polja> - polja za osvetlitev hl.fragsize=<št.znakov> - dolžina osvetljenega izseka hl.simple.pre=<značka> - začetek osvetlitve hl.simple.post=<značka> - konec osvetlitve http://wiki.apache.org/solr/HighlightingParametersSolr 24. 10. 2012 30
  31. 31. Grupiranje /select facet=true - vklop osvetljevanja facet.field=<polja> - polja za osvetlitev facet.limit=<omejitev> - omejitev števila vrednosti facet.mincount=<št> - najmanjše število pojavitev http://wiki.apache.org/solr/SolrFacetingOverviewSolr 24. 10. 2012 31
  32. 32. Nasveti• SOLR NI BAZA!!!!!• Uporabljajte analizator v Solrju• Solr nima varnostne konfiguracije, preverjajte dostop do APIja• Poganjanjte na Oracle JVM, ne OpenJDK• Za produkte uporabljajte WorldDelimiterFilterFactory za ločevanje po številkah• Filtriranje stop-wordov je dvorezen meč Solr 28.1.2013 32
  33. 33. ? Jernej Virag @jernejv http://www.virag.siSolr 28.1.2013 33

×