Lucene - die Volltext Suchmaschine

Slides:



Advertisements
Ähnliche Präsentationen
Apache - PHP - MySQL Apache-PHP-MySQL.
Advertisements

Agenda Ein Fallbeispiel Übersicht Architektur Subversion (SVN)
Druck / Ausgaben unter LSF
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Fallstudie. 2 Statistik April Dokumente Jan Mio. Dokumente Performance 3 Mio. Queries pro Tag 9. Juni 2000 Most popular search engines.
Colibi Bibliothekssystem der Computerlinguistik. Einführung Motivation Was braucht Colibi? Software Datenbankdesign.
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Information und Technik Nordrhein-Westfalen Das personalisierte Portal Düsseldorf, Das personalisierte Portal.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.
Support.ebsco.com Lernprogramm zur einfachen Suche in wissenschaftlichen Bibliotheken.
A. Zündorf, SE Group Reverse Engineering K2 1 Ziele Heute Compilerbau Nachlese Ausnutzung von Laufzeittypinformation.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Xindice Datenbanken vs. Markup Prof Dr. Manfred Thaller WS 2009 / 2010 Referent: Seyda Kurt.
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
Wir bauen uns eine Webapplikation!
HORIZONT 1 XINFO ® Das IT - Informationssystem Java Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Grundlagen: Client-Server-Modell
CGI (Common Gateway Interface)
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Zauberwort Metadaten Elementares Handwerkszeug des Content- und Wissensmanagement.
Wissen praktisch ablegen
Wikis und Wikipedia Michal Simko Otis Skopik.
PHP PHP ( „PHP Hypertext Preprocessor") ist eine Skriptsprache
26. Oktober 2005Autor: Walter Leuenberger Computeria Urdorf Treff vom 26. Oktober 2005 Suchmaschinen im Internet Google & Co.
Datenbanken im Web 1.
TypoScript.
Greenstone. Theoretischer Teil Entstehung: Entwickelt vom New Zealand Digital Library Project an der Universität von Waikato Kooperation mit der UNESCO.
WINLearn Technische Umsetzung. Basistechnologie Oberfläche in HTML JSP (JavaServerPages) zur Datenauswertung Datenhaltung: Datenbank oder Filesystem JDBC.
Jede Suchmaschine verfügt über einen Datenbestand, auf den zur Beantwortung von Suchanfragen zugegriffen wird. Das System zur Erfassung von.
By Thorsten Zisler 1 SQL Datenbank Anbindung an den Supervisor.
Einführung. Ziel der Veranstaltung  Vermittlung von Grundkenntnissen in C++  Solide Basis für anschließende Weiterentwicklung  Fähigkeit, kleine Programme.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
Oracle ADF FacesSeite 1 Oracle ADF Faces OPITZ CONSULTING Oracles Implementierung der JavaServer Faces Spezifikation.
Das SVN Eclipse Plugin. Wofür ist SVN gedacht? Nutzung von SVN mit Eclipse Perspektive einrichten Repository einbinden Mit dem Repository arbeiten Konflikt.
TOAD™ Die komplette Entwicklungs- und DBA- Lösung Cristian Maties.
Dedizierte Systeme - Anna Job Universität zu Köln – IT-Zertifikat – WS 08/09 Digital library software Greenstone.
Java Testtools: HTTPUnit
Verwalten von Daten mit Hilfe von NTFS
Vom Museum ins Internet
Einige Ideen für Module
Indico Meeting Dennis Klein
Das IT - Informationssystem
GWR – Eidgenössisches Gebäude- und Wohnungsregister
AURIS-MM Spezifikation
Create Table, Rechte und Rollen
Merging Jira – Das Unmögliche möglich machen Michael Lüer (ACP) Sönke Martens (ACP) catworkx GmbH
Funktionen, GROUP BY, HAVING Views anlegen und verwenden
Citavi im Prozess der wissenschaftlichen Arbeit
Excel-Berichte erstellen und verteilen
1.
Thema 4: Klassenbibliothek
Von Oracle Reports zum BI Publisher
Erstellen eines Sitzplans
XINFO HORIZONT Überblick zu XINFO Software for Datacenters
Von Wietlisbach, Lenzin und Winter
Untertitel hier eingeben
Klassenbibliotheken: Einbinden und Benutzen von Klassen
Präsentation von Darleen und Michèle
Wissenschaftliches Projekt
Wie sucht man im Internet und welche Web-Browser kennt man
Von Wietlisbach, Lenzin und Winter
SOFTWARE- UND WEB-LÖSUNGEN
LED-Display Bilderwechsel Projekt INGOLSTADT.
Schmock Mutter nicht ausreichend versorgt  fast verhungert Mutter bei Geburt verstorben Schmock mit Flasche aufgezogen.
(Structured Query Language)
 Präsentation transkript:

Lucene - die Volltext Suchmaschine Jörg Kessenich Wir haben eine Suchmaschine für wissenschaftliche Daten erstellt auf Basis von Lucene

Ziel des Vortrags Eine kurze Einführung in Lucene Vorstellen anhand eines kleinen Beispielprogramms Tools, Suchmaschinen und anderes 2/21/2019 Jörg Kessenich

Was ist „Lucene“ Eine Volltextsuche Apache project (java) Eine No-Sql Datenbank Eine sehr schnelle Suchmaschine Lucene.Net ist eine Portierung des java codes (dll) Programmbibliothek zur Volltextsuche. 1997 gestartet als Open Source Projekt und dann ab 2001 übergang nach Apache Software Fondation Wurde in Java geschrieben; es gibt auch eine Portierung nach C# Lucene.Net Die dll läßt sich einfach über nuget pakage in eigene Programme einbinden Mit Lucene können Daten sehr effectiv indexiert werden Und sind damit such bar Man kann damit hoch performante Suchmaschinen bauen Die Daten werden in einer eigenen Struktur gespeichert und nicht in einer sql DB Also eine No-Sql DB 2/21/2019 Jörg Kessenich

Inverted Index / Wie funktioniert Lucene mandeln 1 pfann goldbraun 1,2,3 rost gemuse 2 heis grill 2,3 gratienier vorgeheizt 3 uberback 1 Mandeln in einer Pfanne goldbraun rösten 2 Gemüse unter dem heißen Grill goldbraun gratinieren 3 Unter dem vorgeheizten Grill goldbraun überbacken Grundlage von Lucene ist der sogenannte „Inverted Index“ Der Text wird in Wörter zerlegt Der Index enthält die Wörter und die Liste der dazugehörigen Dokumente Stemming – German Analyzer Stop words 2/21/2019 Jörg Kessenich

Beispiel Suche von Kochrezepten Kurz Vorstellen des Programms Suche mit Kartof* Eingrenzen mit Kategorien Löschen der Kategorien und damit wider mehr sehen Cookml Daten sind die Grundlage des Programms 2/21/2019 Jörg Kessenich

Index erstellen Document Field IndexWriter Analyzer (e.g. stopwords) IndexWriter mit Analyzer German und stop words Schleife mit Documents Und Add Field Sollen die Daten im Index gespeichert werden? Welche Daten sollen analysiert werden? Kategorien mehrfach Hier muß man sich genau überlegen was man will 2/21/2019 Jörg Kessenich

Methode CreateIndex 2/21/2019 Jörg Kessenich

Methode GetAnalyzer 2/21/2019 Jörg Kessenich

Suche ausführen QueryParser IndexSearcher ScoreDoc SimpleFacetedSearch 2/21/2019 Jörg Kessenich

Methode SearchIndex - Query MultiFieldQueryParser damit kann man über mehre Felder gleichzeitig suchen Parser wandelt den Suchtext um in ein QueryObjekt Abfragesyntax ist vorhanden Man kann aber Query Objekte selber erstellen und zur Suche hinzufügen Beispiel selektierte Kategorien Wenn nicht gefunden dann suggestion für den Benutzer aber nicht im UI eingebaut im Moment; eine nächste Ausbaustufe 2/21/2019 Jörg Kessenich

Methode SearchIndex - ScoreDoc Kategorien in OutputFacet – typisches Problem in Shopsystemen ScoreDoc enthält das gefundene Dokument und einen Scoring Wert Scoring Problem Neue Suche in der Anwendung z.B. Rote Bete Verschiedene Methoden vorhanden Siehe titleField.Boost = 2; 2/21/2019 Jörg Kessenich

Komplexe Objekte indexieren FragBag, an accurate representation of protein structure, retrieves structural neighbors from the entire PDB quickly and accurately Inbal Budowski-Tala, Yuval Novb, and Rachel Kolodnya  doi: 10.1073/pnas.0914097107 http://www.pnas.org/content/107/8/3481.abstract Man kann nicht nur Text Suchen Z.B. Bilder Key Elemente des Bildes analysiert und als Text suchbar machen Standard Lösung vorhanden Stichwort „SURF“ Algoritmus OCR Projekt Apache Tika - analysiert Dokument/Files und extrahiert Meta Daten eine lange Liste von unterstützten Formaten Man kann aber auch chemische Moleküle oder auch Spektren such bar machen Hier ein Beispiel für Proteine/Eiweiße Proteine sind aufgebaut aus Aminosäuren (bei Menschen 20 verschiedene) denen man einen Buchstaben zugeordnet hat Das ergibt einen langen Text Technik „n-gram“ anstatt von Wörtern in einem Fließtext Diese n-grams werden indexiert Damit kann man z.B. Proteine effektiv suchen 2/21/2019 Jörg Kessenich

Luke Luke das Tool um den Index zu analysieren Zeigen anhand der Suche nach Kategorie:Gemüse 2/21/2019 Jörg Kessenich

Suchmaschinen Elasticsearch Apache Solr Open Semantic Search SEBOL … Elasticsearch und Apache Solr werden am meisten verwendet Elasticsearch http server mit REST Web Api interface Plugins vorhanden Verteilung der Suchanfrage auf mehrere Server möglich .Net Library NEST ist eine SDK und vereinfacht die Verwendung in einem eigenen Programm Wenn ich die Aufgabe hätte dann würde ich heutzutage Elasticsearch verwenden 2/21/2019 Jörg Kessenich

Wer/Wo wird Lucene verwendet Wird im Hintergrund von vielen bekannten und unbekannten Firmen eingesetzt 2/21/2019 Jörg Kessenich

Referenzen/Links http://lucene.apache.org/pylucene/index.html http://lucene.apache.org/solr/ https://www.elastic.co/products/elasticsearch https://www.opensemanticsearch.org/de/ http://db-engines.com/de/ranking/suchmaschine http://www.dotnetpro.de/update/dotnetpro/wider-fluchen-suchen-1126651.html Lucene in Action von Erik Hatcher, Otis Gospodnetic, Mike McCandless Instant Lucene.NET von Michael Heydt Lucene 4 Cookbook von Edwood Ng, Vineeth Mohan DotnetPro Artikel erwähnen Viel mehr Bücher vorhanden insbesondere zu ElasticSearch und Apache Solr 2/21/2019 Jörg Kessenich

Fragen ? Jörg Kessenich joerg.kessenich@gmail.com 2/21/2019