SOLR Crashkurs
Philipp Schaer, 24.7.2014
GESIS-interner Workshop
Motivation
• SOLR ist die zentrale
Komponente hinter
SSOAR und dem
SOFISwiki
• Suchformulare decken
aber nicht alle Fälle ...
Agenda
• 1. Block: Grundlagen
– Grundlegender Aufbau/Funktionsweise SOLR
– HTTP Crashkurs – GET Parameter
– Praktische Übu...
1. BLOCK: GRUNDLAGEN
in a nutshell
• SOLR
– ist eine Suchmaschine (keine Datenbank),
– stellt einen Index zur Verfügung,
– arbeitet über HTTP,
...
Wie funktioniert eine Suchmaschine?
http://nlp.stanford.edu/IR-book/html/htmledition/putting-it-all-together-1.html
Komponenten von SOLR
Die Indexierungspipeline
Tokenizer
Tokens Friends Romans Countrymen
Linguistische Module (z.B.
Spellchecker, Stemmer etc.)...
Ein paar Begrifflichkeiten…
facets result list
operators
query
HTTP – Basiswissen
• Hypertext Transfer Protocol (HTTP)
• Zentrales Übertragungsprotokoll im Internet
• Ressourcen werden ...
HTTP GET-Parameter
• Es gibt viele grundlegende HTTP Befehle:
– GET: Abruf einer Ressource (z.B. Wikipedia-Seite)
– POST: ...
Besondere Regeln
• Beachte Einsatz von ? und & im Parameter!
• Manche Zeichen müssen kodiert werden:
• Braucht man aber ni...
1. Übung: URL-Parameter
• Firefox starten und URL Shooter installieren:
https://addons.mozilla.org/de/firefox/addon/
url-s...
2. BLOCK: EINFACHE SUCHEN
Generelle Syntax
• Suche überall: ?q=geld
• Suche in einem Feld: ?q=title:geld
• Suche nach allem: ?q=*:*
• Boolesche Such...
SOLR – Query Language
https://wiki.apache.org/solr/SolrQuerySyntax
Unterschiedliche Feldtypen
• String
– SOFISwiki: Am Suffix „_s“ zu erkennen
– SSOAR: Ggf. „_ac“ oder „_sort“
– Inhalte sin...
Und wie komme ich zu den
Feldbezeichnern?
http://sofis:8080/solr/#/sofis/schema-browser?field=projektFreitext
Aber die Ausgabe kann ja keiner lesen!
• Ausgabe nur einzelner Felder:
?fl=feld1,feld2 (Beispiel: ?fl=pagetitle,Id_s)
• Au...
2. Übung: Feldbasierte Suchen
• SOFISwiki:
1. Anzeigen aller Projekte eines Jahrgangs mit z.B. der Einschränkung
„AND Rnr ...
3. BLOCK:
SUCHMASCHINENSPEZIALITÄTEN
Sortierung
• Normalerweise werden die Ergebnisse nach
Relevanz sortiert (Vektorraummodell)
• Mit Hilfe des Parameters ?sor...
Facettierungen
facets
query
Facettierung
• „Welche Felder treten in meiner
Ergebnissemenge wie oft auf?“
• ?facet=true&facet.field=feld
• Ein Beispiel...
Gesammelte Fragen: SOFISwiki
1. Gibt es doppelte/unvollständige/zu lange
Erfassungsnummern (immer 8 Zahlen) im SOFISwiki (...
Gesammelte Fragen: SSOAR
1. Zeige mir alle Datensätze an, die im Zeitraum
vom 1.5.2013 bis zum 31.7.2014 veröffentlicht
wu...
Nächste SlideShare
Wird geladen in …5
×

Solr Crashkurs - Interner Workshop

1.102 Aufrufe

Veröffentlicht am

Kurze interne Einführung für die Suchsmaschine SOLR für Dokumentare und Bibliothekare bei GESIS.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.102
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
6
Aktionen
Geteilt
0
Downloads
3
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Solr Crashkurs - Interner Workshop

  1. 1. SOLR Crashkurs Philipp Schaer, 24.7.2014 GESIS-interner Workshop
  2. 2. Motivation • SOLR ist die zentrale Komponente hinter SSOAR und dem SOFISwiki • Suchformulare decken aber nicht alle Fälle ab…
  3. 3. Agenda • 1. Block: Grundlagen – Grundlegender Aufbau/Funktionsweise SOLR – HTTP Crashkurs – GET Parameter – Praktische Übung • 2. Block: Einfache Suchen – Feldbasierte Suche – Boolesche Suchoperatoren – Ausgabeformate – Praktische Übung • 3. Block: Suchmaschinenspezialitäten – Facetten – Ranking vs. Sortierung – Praktische Übung
  4. 4. 1. BLOCK: GRUNDLAGEN
  5. 5. in a nutshell • SOLR – ist eine Suchmaschine (keine Datenbank), – stellt einen Index zur Verfügung, – arbeitet über HTTP, – hat ein grafisches Benutzungsinterface, – beherrscht Relevance-Ranking (Vektorraum), – beherrscht Boolesche Anfragen, – hat ein flexibles Datenschema, – uvm. …
  6. 6. Wie funktioniert eine Suchmaschine? http://nlp.stanford.edu/IR-book/html/htmledition/putting-it-all-together-1.html
  7. 7. Komponenten von SOLR
  8. 8. Die Indexierungspipeline Tokenizer Tokens Friends Romans Countrymen Linguistische Module (z.B. Spellchecker, Stemmer etc.) Modifizierte Tokens friend roman countryman Indexer Invertierter Index friend roman countryman Dokument Friends, Romans, countrymen.
  9. 9. Ein paar Begrifflichkeiten… facets result list operators query
  10. 10. HTTP – Basiswissen • Hypertext Transfer Protocol (HTTP) • Zentrales Übertragungsprotokoll im Internet • Ressourcen werden über URI adressiert: Protokoll Host Ressource http://www.server.de/index.html?werbung=ja GET-Parameter
  11. 11. HTTP GET-Parameter • Es gibt viele grundlegende HTTP Befehle: – GET: Abruf einer Ressource (z.B. Wikipedia-Seite) – POST: Absenden einer Ressource (z.B. Formular) • Beiden können Parameter übergeben werden: /wiki/Spezial:Search?search=Katzen&go=Artikel Argument Wert search Katzen go Artikel
  12. 12. Besondere Regeln • Beachte Einsatz von ? und & im Parameter! • Manche Zeichen müssen kodiert werden: • Braucht man aber nicht händisch machen: http://www.w3schools.com/tags/ref_urlencode.asp Leerzeichen ? & # … + oder %20 %3F %26 %23 …
  13. 13. 1. Übung: URL-Parameter • Firefox starten und URL Shooter installieren: https://addons.mozilla.org/de/firefox/addon/ url-shooter/ • Auf SSOAR oder das SOFISwiki gehen – Suche starten, – versuchen die URL-Parameter zu verstehen – und auch zu verändern • Kurz protokollieren und Ergebnisse in der Gruppe vorstellen
  14. 14. 2. BLOCK: EINFACHE SUCHEN
  15. 15. Generelle Syntax • Suche überall: ?q=geld • Suche in einem Feld: ?q=title:geld • Suche nach allem: ?q=*:* • Boolesche Suche: – ?q=geld AND liebe – ?q=geld OR liebe – ?q=geld AND NOT liebe • Suche nach „Nichts“: ?q=[* TO *]
  16. 16. SOLR – Query Language https://wiki.apache.org/solr/SolrQuerySyntax
  17. 17. Unterschiedliche Feldtypen • String – SOFISwiki: Am Suffix „_s“ zu erkennen – SSOAR: Ggf. „_ac“ oder „_sort“ – Inhalte sind 1:1 so, wie im Original • Text / General_Text / Text_en / etc… – SOFISwiki: am Suffix „_t“ zu erkennen – SSOAR: Kein Suffix (Standard) – Inhalte sind durch eine Stopwortliste, Tokenizer, Stemmer usw. vorverarbeitet • Date / Int / etc… – Datumsfelder, Zahlenwerte uvm. werden hier jetzt erstmal nicht behandelt
  18. 18. Und wie komme ich zu den Feldbezeichnern? http://sofis:8080/solr/#/sofis/schema-browser?field=projektFreitext
  19. 19. Aber die Ausgabe kann ja keiner lesen! • Ausgabe nur einzelner Felder: ?fl=feld1,feld2 (Beispiel: ?fl=pagetitle,Id_s) • Ausgabe z.B. in JSON, statt XML: ?wt=json • Ausgabe von 20 oder unendliche vielen Einträgen: ?rows=20 / ?rows=-1 (vorsicht!) • Anfrage nach bestimmten Kriterium filtern: ?fq=feld:wert (Beispiel: ?fq=category:Projekte) • Einrücken oder nicht: ?indent=true & ?indent=false
  20. 20. 2. Übung: Feldbasierte Suchen • SOFISwiki: 1. Anzeigen aller Projekte eines Jahrgangs mit z.B. der Einschränkung „AND Rnr aufgefüllt“ (= alle Wiederholungsmeldungen eines Jahrgangs) bzw. „NOT Rnr ausgefüllt“ (= alle Neuaufnahmen eines Jahrgangs) 2. Anzeige aller Projekte mit einer bestimmten Institution (z.B. DFG) eines bestimmten Jahrgangs 3. Art der Forschung in eine Abfrage einbeziehen • SSOAR: 1. Wie viele Datensätze haben Volltexte und wie viele Datensätze verlinken auf einen externen Volltext? 2. Zeige mir alle Datensätze an, die im Feld 'ssoar.contributor.institution' den Eintrag GIGA haben. 3. Wie viele Datensätze haben einen Übersetzungstitel (dc.title.alternative)?
  21. 21. 3. BLOCK: SUCHMASCHINENSPEZIALITÄTEN
  22. 22. Sortierung • Normalerweise werden die Ergebnisse nach Relevanz sortiert (Vektorraummodell) • Mit Hilfe des Parameters ?sort kann aber auch nach einem festen Kriterium sortiert werden • Die Reihenfolge kann sein: – Aufsteigend: ?sort=feld asc – Absteigend: ?sort=feld desc • Beispiele: – ?q=*:*&sort:dateIssued.year_sort asc
  23. 23. Facettierungen facets query
  24. 24. Facettierung • „Welche Felder treten in meiner Ergebnissemenge wie oft auf?“ • ?facet=true&facet.field=feld • Ein Beispiel (wer kann erraten, was wir hier sehen werden?) http://www.server.info/solr/search /select/?q=*%3A*&facet=true &facet.field=dateIssued.year &rows=0 https://wiki.apache.org/solr/SimpleFacetParameters
  25. 25. Gesammelte Fragen: SOFISwiki 1. Gibt es doppelte/unvollständige/zu lange Erfassungsnummern (immer 8 Zahlen) im SOFISwiki (~ Dubletten- bzw. Plausibiliätskontrolle) 2. Welche Institution hat die meisten Projekte? 3. In welchem Projekt steht ein Leiter, fehlt aber ein Bearbeiter bzw. steht ein Bearbeiter, fehlt aber ein Betreuer? 4. Wo steht im Eingabefeld der Veröffentlichungen Text, das Häkchen der Auswahl (ja, nein, geplant) steht aber auf „keine Angabe“ (bzw. auf „nein“/“geplant“)? 5. Anzeige aller Hauptklassifikationen eines Jahrgangs (bzw. Verteilung über den gesamten Bestand)
  26. 26. Gesammelte Fragen: SSOAR 1. Zeige mir alle Datensätze an, die im Zeitraum vom 1.5.2013 bis zum 31.7.2014 veröffentlicht wurden. 2. Welche Datensätze haben in der Bandangabe (dc.source.volume) nicht nur die Bandzählung, sondern auch andere Zeichen (Z.B. 'Bd.', 'Vol.') als Einträge? 3. Welche Zeitschriftenartikel (dc.type.stock) haben im Feld Begutachtungsstatus (dc.description.pubstatus) den Eintrag 'Preprint' bzw. die ID '3'?

×