Lucene. Volltextsuche mit Java. Georg Schumann

Größe: px
Ab Seite anzeigen:

Download "Lucene. Volltextsuche mit Java. Georg Schumann"

Transkript

1 Lucene Volltextsuche mit Java Georg Schumann Fachhochschule Augsburg Baumgartnerstraße 16, Augsburg, Masterstudiengang Informatik 5. Juli 2006 Kurzfassung: Überall in der digitalen Welt sehen wir uns einer gigantischen Menge an Daten gegenüber, sei es nun auf dem eigenen PC, am Firmenrechner oder im Internet. Da man aber zum einen Quantität nicht mit Qualität gleichsetzen kann und zum anderen auch nicht jede qualitativ hochwertige Information für uns relevant ist, benötigen wir schnelle, einfach zu bedienende, effiziente und am besten noch kostengünstige Suchmaschinen. Alle diese Anforderungen erfüllt Lucene, ein in Java implementiertes Framework, das die Erstellung einer Volltextsuchmaschine ermöglicht. Dieser Artikel gibt einen Einblick in die Grundlagen und Funktionsweise von Lucene. Dazu zählen die Indexierung von Daten und die Suche in dem erstellten Index. Diese zwei Kernthemen werden erklärt und an Hand eines Beispiels verdeutlicht. Abgerundet wird der Text durch eine Auflistung der Vor- & Nachteile und einen Ausblick auf geplante Erweiterungen von Lucene. Kategorien: Content Management Schlüsselwörter: Java, Volltextsuche, Lucene, Apache Software Foundation, Indexierung Einführung Bei der Fülle an vorhandenen digitalen Daten, sei es nun im privaten Bereich oder im Geschäftsleben, wird es zunehmend schwieriger den Überblick zu behalten. Zur Erleichterung dieses Problems tragen Suchmaschinen bei, die sich immer größerer Beliebtheit erfreuen. Mittels ihrer ist es möglich benötigte Informationen innerhalb von Sekunden zu finden. Den Komfort einer Suche wollen sich viele Leute leisten, Privatpersonen wie auch Firmen. Lucene, ein in Java implementiertes, Open-Source-Framework 1, bietet die Möglichkeit selbst eine Suchmaschine zu implementieren. Diese kann in hohem Maß personalisiert werden, indem beispielsweise der Suchraum begrenzt wird oder bestimmte Schlagwörter eine höhere Bedeutung bekommen als andere Wörter. Lucene stellt Klassen zur Implementierung einer Volltextsuche zur Verfügung. Definition Volltextsuche: Eine Volltextsuche ist das Auffinden von Texten in einer Vielzahl gleicher oder verschiedenartiger Dateien auf einem Computer, einem Server und/oder im Internet [4]. Die Realisierung der Volltextsuche erfolgt in zwei Hauptschritten: der Indexierung und der Suche. Bei Ersterem wird der Suchraum (zu durchsuchende Dateien 2 ) indexiert. Das Resultat entspricht in etwa einem Index in einem Buch, nur dass hier jedes Wort der Eingabedokumente enthalten ist (der Programmierer kann hier Einschränkungen machen). Die Suche erfolgt durch 1 Ein Framework ist eine Menge kooperierender Klassen, die ein wiederverwendbares Design für einen speziellen Anwendungsbereich vorgeben 2 Datei ist hier ein abstrakter Begriff für verschiedene Eingabeformate wie HTML/XML Seiten, PDF-Dateien, Word- Dokumente usw.

2 Eingabe von Schlagwörtern, nach denen im Index gesucht wird. Die Suche in einem Index ist äußerst schnell. Wie diese zwei Hauptschritte im Detail ablaufen wird im weiteren Verlauf erklärt und durch ein Codebeispiel verdeutlicht. Im Anschluss an die Suche erfolgt die Darstellung der Ergebnisse. Diese ist nur noch bedingt Lucene-spezifisch und wird nur kurz erwähnt. Historische Entwicklung Die Apache Software Foundation (ASF) formierte sich Ihr ursprüngliches Anliegen war die Implementierung des Apache HTTP-Server s. Mit steigender Popularität dieses Servers wurde auch die Foundation bekannter und startete weitere Projekte wie das Jakarta Projekt, das sich die Implementierung serverseitiger Java-Anwendungen zum Ziel gesetzt hat. Lucene ist, da es in Java geschrieben wurde, auch Teil des Jakarta Projekts. Es wurde 2001 unter seinem jetztigen Namen in die ASF aufgenommen [2]. Die erste Idee zu einer frei verfügbaren, plattformunabhängigen, mit Java realisierten Suchmaschine hatte der Begründer von Lucene ist Doug Cutting im Jahre Seit der offiziellen Aufnahme in die ASF erfreut sich Lucene großer Beliebtheit, nicht nur in der Open-Source-Gemeinde sondern auch bei Großfirmen wie FedEx und Hewlett-Packard. Nach diesem kurzen entwicklungsgeschichtlichen Ausschnitt gehen die nächsten Kapitel in medias res und beschreiben die Funktionsweise von Lucene. Ablauf einer Suche [1], [2], [6], [9] Um eine Suche mit Lucene zu implementieren, muss als erstes ein Suchraum definiert und aufbereitet werden. Dieser Schritt wird als Indexerstellung bezeichnet. Es wird ein Index ähnlich dem eines Buches erstellt. Dieser enthält alle Wörter die im Suchraum auftreten. Suchraum ist ein abstrakter Begriff, der die Gesamtheit aller Dokumente umfasst, die als Eingabedaten (Datenbasis) dienen. Meistens möchte man vor der Indexierung eine Normalisierung des Suchraums durchführen. Die Normalisierung beschleunigt die Suche auf dem Index durch Reduktion der enthaltenen Datenmenge. Dies geschieht mit verschiedenen Analyzern (Filtern) die im nachher noch näher erläutert werden. Ist der Index, erstellt kann der Nutzer eine Anfrage stellen. Diese Anfrage kann boolsche Terme, Wildcards und themenbezogene Terme enthalten, um nur einige Möglichkeiten zu nennen. Um die Integrität zwischen Index und Anfrage sicherzustellen werden auf die Anfrage die gleichen Filter zur Aufbereitung angewendet wie vorher zur Indexerstellung. Nach der Aufbereitung einer Anfrage wird mit dieser der Index durchsucht. Lucene bietet dem Programmierer etliche Möglichkeiten um die Ergebnisse (Hits) aufzusammeln und diese schon vor der Anzeige nach Relevanz zu sortieren, also bestimmten Ergebnisteilen eine höhere Bewertung zu geben. Danach erfolgt die Darstellung dieser Ergebnisse für den Nutzer. Damit ergibt sich folgendes Bild für den Ablauf einer Volltextsuche mit Lucene: Der gesamte Text aus dem Suchraum wird durch den IndexWriter 3 mittels eines Analyzer in für Lucene lesbare Dokumente verwandelt und diese in den Index aufgenommen. Die Anfrage (symbolisiert durch die Fragezeichen) wird vom QueryParser mittels desselben Analyzer in eine Lucene lesbare Query verwandelt und mit dieser im Index gesucht. Das Bild zeigt deutlich, das der gleiche Analyzer für Indexierung & Suche verwendet wird. Die 3 Javaklassen des Lucene Frameworks

3 Abbildung 1: Überblick über den Gesamtablauf Hits (Ergebnisse) werden dann dem Nutzer, der die Anfrage stellte, angezeigt. Im folgenden werden Indexierung und Suche detailierter erklärt. Indexierung [9] Die Indexierung oder Indexerstellung ist die Grundlage für alle späteren Suchvorgänge. Die Qualität des Index determiniert letztlich die Qualität, die bei der Suche erzielt werden kann. Darum sollte der Entwickler diesen essentiellen Schritt genaustens verstehen und sauber implementieren. Zur Vereinheitlichung werden alle Eingabedokumente in Lucene Dokumente umgewandelt. Diese werden später ausgelesen und deren Terme in den Index geschrieben. Da Lucene Dokumente ein zentraler Punkt bei der Indexerstellung sind, schauen wir deren Charakteristik und Erstellung genauer an. Lucene-Dokument (LD) Jedes Dateiformat kann in ein LD umgewandelt werden. Dazu muss sein Inhalt umstrukturiert werden. Diese Umstrukturierung ist hauptsächlich die Kondensierung der Metainformation (Strukturinformation) der umzuwandelnden Dateien. Das Resultat eines jeden solchen Parserschritts ist ein Dokument das für Lucene lesbar ist und ausschließlich Text aus der kongruenten Eingabedatei enthält. LDs wiederum bestehen aus Lucene-Feldern. Ein Dokument besteht aus mindestens einem Feld. Jedes Feld enthält einen spezifischen Wert [1], [2]. Der Begriff Feld ist, wie LD, abstrahierend. Er umschreibt einen speziellen Teil der Eingabedatei. Die Werte enthalten den Text aus der Eingabedatei, sind also Träger der eigentlichen Information. Man spricht von Feldname-Wert-Paaren. Die Verwendung von gut gewählten Feldern ist sehr empfohlen [1], [2], da dem Nutzer so eine spezifischere und schnellere Suche ermöglicht werden kann. Die folgenden Beispiele sollen das Verständnis der gerade erklärten Begriffe, LD und Lucene Feld, vereinfachen. Beispiele für mögliche Eingabedateien: HTML, XML Entitäten einer Datenbank

4 Java Klassen Textdokumente wie Word, PDF (Auch Exceltabellen sind möglich) Beispiele für mögliche Felder: Dateiname, Überschrift, Java-Methode, Paragraph, HTML / XML Tag mit Inhalt. Das Anlegen von LDs, mit ihren Feldern, ist nur ein standardisierender Zwischenschritt. Mittels eines Objekts der Klasse IndexWriter wird nun der Index, auf Basis der LDs, erstellt. Der Index enthält Terme (oder Token). Sätze in Feldern werden durch den Tokenizer in diese kleinsten Indexeinheiten zerlegt. Aus diesen Token, ist der Index aufgebaut. Manchmal möchte man nicht den gesamten Text der Eingabedateien in ein LD, und damit später in den Index, übernehmen. Um hier eine Trennung nach wichtig und unwichtig zu erreichen, dienen Analyzer (Filter). Filter haben jedoch nicht nur einen trennenden Effekt (parsing effect), sondern erfüllen auch noch eine Normalisierung. Diese Normalisierung ist sehr wichtig, um eine leistungsfähige Suche zu gewährleisten. Ein besonders erwähnenswerter Normalisierungsschritt ist die Reduzierung von Wörtern auf ihren Wortstamm (Beispiel: rannte -> renn). Diese Reduzierung ist eine sehr anspruchsvolle Aufgabe, die für Deutsch und Englisch pasabel gelöst ist [2], [12]. Hinter dem Begriff Wortstammreduktion (Stemming) verbirgt sich die Rückführung eines Wortes auf seinen Wortstamm. So ist beispielweise trink der Wortstamm für tränken, Getränk, Umtrunk, trinkst, tranken, Umtrunk, trinken, ertrinken. Diese Reduktion hilft dabei den Index zu verkleinern und somit die Indexierzeit, sowie auch die Suchzeit auf diesem Index zu verringern. Es gibt bereits für einige Sprachen, darunter auch deutsch 4, generische Wortstammreduktionsalgorithmen, jedoch ist dieses Problem nicht trivial lösbar und somit sind selbst die vorhandenen Stemmer noch ausbaufähig refwortstammreduktion. Eventuell werden auch Blacklist-Filterungen durchgeführt. In Schwarzen Listen werden Wörter deklariert die nicht in den Index kommen, da sie häufig vorkommen und damit wenig Information tragen (Shannon Informationstheorem). Bei Blacklist-Filterungen ist allerdings zu bedenken, dass wichtige Phrasen verloren gehen können. Man denke nur an Shakespeare To be or not to be. Alle vorkommenden Wörter würden einer Blacklist-Filterung zum Opfer fallen und man würde dem Nutzer die Chance nehmen nach dieser Phrase zu suchen. Nun ein exemplarischer Code, der die Indexierung verdeutlichen soll. import (einige Lucene- /Javaklassen) public class Indexer { public static void index(file indexdir, File datadir) throws IOException { if (!datadir.exists()!datadir.isdirectory()) { throw new IOException(dataDir + " does not exist"); IndexWriter writer = new IndexWriter(indexDir, new StandardAnalyzer(), true); indexdirectory(writer, datadir); writer.close(); private static void indexdirectory(indexwriter writer, File dir) throws IOException { File[] files = dir.listfiles(); for (int i=0; i < files.length; i++) { File f = files[i]; if (f.isdirectory()) { 4 Stemming Filter für deutsche Sprache von Jörg Caumann

5 indexdirectory(writer, f); // recurse else if (f.getname().endswith(".txt")) { indexfile(writer, f); private static void indexfile(indexwriter writer, File f) throws IOException { Document doc = new Document(); doc.add(field.text("contents", new FileReader(f))); doc.add(field.keyword("filename", f.getcanonicalpath())); writer.adddocument(doc); public static void main(string[] args) throws Exception { if (args.length!= 2) { throw new Exception("Usage:... "); File indexdir = new File(args[0]); File datadir = new File(args[1]); index(indexdir, datadir); Die Klasse Indexer kann über die Kommandozeile mit 2 weiteren Parametern (Verzeichnis in dem der Index erstellt werden soll und zu indexierendes Verzeichnis) aufgerufen werden. Der Anfangspunkt des Programms ist dann die Mainmethode. Von ihr wird index() aufgerufen. Hier wird der zur Indexierung essentielle IndexWriter (siehe Abbildung 1), mit seinem Analyzer, initialisiert. Mittels der Methoden indexfile/indexdirectory werden alle txt-dateien in dem angegebenen Verzeichnis indexiert. Die angelegten LDs enthalten zwei Felder, content und filename. Zusammenfassung der Indexierung: Der mögliche Suchraum von Lucene kann beliebige Eingabedateien verschiedener Formate haben. Diese Dateien werden durch den Analyzer normalisiert und in relevant und nicht relevant getrennt. Die wichtigen normaliserten Daten werden dann, immer noch vom Analyzer, dokumenten- und felderweise in Token zerlegt und in den Index geschrieben. Dieser ist nun nutzbar. Um sich ein Bild des Indexinhalts zu machen, gibt es spezielle Werkzeuge die den Inhalt eines Index anzeigen können. Suche [1], [2], [9], [12] Ein auf die zuvor beschriebene Weise erstellter Index kann nun bereits zur Suche eingesetzt werden. Es gibt zwei Arten dem Nutzer Anfragen zu ermöglichen. Eine Möglichkeit ist es dem Nutzer Auswahlfelder zur Verfügung stellen. Dies ist für unerfahrene Nutzer ratsam, weil es einfach ist eine Anfrage durch Zusammenklicken zu erstellen. Jedoch kann diese Möglichkeit den Nutzer in seiner Anfragegestaltung sehr einschränken und bedeutet einen nicht zu vernachlässigenden Aufwand für den Programmierer. Mehr Flexibilität und Mächtigkeit bietet dem Nutzer die vollständig eigene Konstruktion von Anfragen. Dies ist jedoch nur für erfahrene Nutzer angebracht, die mit der speziellen Anfragesyntax von Lucene vertraut sind. Intern kann eine Luceneanfrage (Query) aus zwei elementaren Komponenten bestehen: Term = einzelnes Wort (eine Zeichenkette) ohne Leerzeichen (z.b. Baum, aber auch H5N1 ) Phrase = aneinander gereihte Terme die durch Leerzeichen getrennt sind und durch Anführungszeichen begrenzt (z.b. Mary hat ein kleines Lamm )

6 Diese elementaren Komponenten stellen die kleinste Einheit einer Abfrage dar. Intern werden aus den Abfragen des Nutzer s Lucene lesbare Anfragen (Queries) erstellt. Dazu werden die Terme der Abfrage von einem Analyzer normalisiert. Um Integrität zu gewährleisten sollte der gleiche Analyzer verwendet werden, der auch zum Erstellen des Index benutzt wurde. Es folgt ein Codebeispiel: import (einige Lucene- /Javaklassen) public class Searcher {\\ public static void search(file indexdir, String q) throws Exception{ Directory fsdir = FSDirectory.getDirectory(indexDir, false); IndexSearcher is = new IndexSearcher(fsDir); Query query = QueryParser.parse(q, "contents", new StandardAnalyzer()); Hits hits = is.search(query); System.out.println("Found " + hits.length() + " document(s):"); for (int i = 0; i < hits.length(); i++) { Document doc = hits.doc(i); System.out.println(doc.get("filename")); public static void main(string[] args) throws Exception { if (args.length!= 2) { throw new Exception("Usage:..."); File indexdir = new File(args[0]); String q = args[1]; if (!indexdir.exists()!indexdir.isdirectory()) { throw new Exception(indexDir + " is does not exist."); search(indexdir, q); Der Searcher wird mit zwei Parametern, Verzeichnis in dem der Index liegt und Suchanfrage, aufgerufen. In der search-methode wird nun der für die Suche essentielle IndexSearcher (siehe Abbildung 1) initialisiert. Dann wird noch ein Query-Objekt erstellt, welches den Suchbegriff q in Feld content sucht und q vorab mit dem gleichen Analyzer, mit dem vorhin der IndexWriter inizialisiert wurde, normalisert. Die Ergebnisse, Dokumente die den Suchbegriff q enthalten, werden als Hits gespeichert. Verknüpfung von Abfragekomponenten Komponenten lassen sich durch boolsche Operatoren verknüpfen. Bei deren Anwendung gibt es keine Besonderheiten zu beachten. Die Syntax entspricht der bekannten boolschen Operatoren Syntax 5. Ein Beispiel: Möchte man nach der Phrase content management und dem Term Sommersemester suchen würde die Anfrage folgendermassen aussehen: content management & Sommersemester Feldbezogene Anfragen In Kapitel (Lucene Dokument) wurde schon erwähnt, dass Felder in Lucene eine wichtige Rolle spielen und deren Auswahl gut durchdacht werden sollte. Durch Felder ist eine gute Strukturierung erzielbar, die leicht nachzuvollziehen ist. Der entscheidende Punkt ist jedoch die Option gezielt in bestimmten Feldern zu suchen. Möchte man beispielsweise nur Spielernamen des TSV 5 oder = ; und = &; nicht =!

7 1860 München erhalten lautet die Anfrage: verein: TSV 1860 München & Spielernamen. Verein stellt hierbei das Feld dar in dem gesucht werden soll. Der Programmierer muss sicherstellen, dass die Felder auch im Index vorhanden sind oder eine Fehlermeldung generiert wird. Desweiteren bemerken sie bitte, dass TSV 1860 München in Anführungszeichen gesetzt ist um die Terme so als Phrase zu kennzeichnen. Im Feld gesucht wird immer nur die erste Phrase (oder der erste Terme) nach dem Doppelpunkt. Wildcards Wildcards sind im Deutschen auch als Jokerzeichen bekannt. Diese können eingesetzt werden, wenn man z.b. nach allen Wörtern mit dem gleichen Präfix suchen möchte. Es gibt bei Lucene zwei Arten von Wildcards. Zum einen gibt es das Fragezeichen (?) welches genau ein beliebiges Zeichen beschreibt / Platzhalter für ein Zeichen ist. Zum anderen gibt es den Asteriks / Stern (*) der für beliebig viele Zeichen steht. Anzumerken ist auch noch, dass Wildcards bei Lucene nicht am Anfang eines Terms / einer Phrase stehen dürfen. Zur Illustration: Studien* würde alle Wörter im Suchraum finden die mit Studien anfangen. Darunter könnten Studiengang, Studienarbeit oder Studienauswertung fallen. Sonderzeichen Da es einige Zeichen gibt die eine spezielle Bedeutung in Lucene haben, man denke nur an gerade erwähnte Fragezeichen oder boolsche Operatoren, muss man diese kennzeichnen um dafür zu sorgen, dass sie auch in Termen der Anfrage vorkommen dürfen. Im Englischen wird häufig der Begriff Escaping verwendet, der den gleichen Sachverhalt beschreibt. Zum Kennzeichnen verwendet man den meistens den Backslash (\). Es folgt eine Auflistung der zu kennzeichnenden Sonderzeichen: *,,?, &, \,!, (, ),, ^ Relevanzeinstufung Eine sehr nützliche Eigenschaft von Lucene Abfragen ist die Relevanzeinstufung. Im Englischen wird der Term boosting factor verwendet. Damit kann man Termen der Abfrage eine höhere Gewichtung zuteilen um Ergebnisse, die diesen Term enthalten, weiter oben in der Trefferliste zu plazieren. Dies ist nützlich wenn die gesuchten Terme, für den Nutzer, unterschiedlich wichtig sind. Dem Programmierer ist erlaubt, während der Indexerstellung, bestimmte Felder oder Token höher zu bewerten, weil diese beispielsweise für die Firma von höherer Relevanz sind. Lucene bezieht bei der Relevanzeinstufung unter anderem diese zwei Gewichtungen mit ein 6. Ein Beispiel: Praktikum & Vorlesung ^10. Damit werden gefundene Vorlesungen zuerst genannt und die Praktika weiter hinten in der Trefferliste stehen. Abstand & Unschärfe Die letzten zwei Spezifikationsmöglichkeiten der Abfrage sind der Abstand und die Unschärfe. Abstand beschreibt wie weit zwei Terme / Phrasen im Suchraum voneinander entfernt sein dürfen um als Treffer gewertet zu werden. Dieser Operator wird auch NEAR Operator genannt 7 und wird vom Symbol ~ beschrieben der mit einem vorangehenden Leerzeichen an die Terme angehängt wird. Die unscharfe Suche ist eine Suche nach syntaktisch ähnlichen Wörtern. Beispiel: Raum~ liefert auch raus und Baum 6 genauere Informationen zur Berechnung der Gewichtung entnehmen sie bitte [1] oder [2] 7 engl. near = nah

8 Vor - / Nachteile von Lucene Lucene hat ein hohes Ansehen in der suchenden Gemeinde. Die Urteilsbildung sei dem Leser hier selbst überlassen. Wir werfen nun einen sachlichen Blick auf die harten Fakten die dieses Framework bietet. Vorteile Nachteile Java, deswegen plattform-unabhängig Mit umfangreichen Features breite Spanne von Einsatzszenarien (Web, Desktop, Firmen, Server, privat,...) Sehr flexibel Java Know-how nötig Programmieren vor Verwendung (keine Out-of-the-Box Lösung) Anpassungsaufwand Sehr gut dokumentiert Kein professioneller Support / Gewährleistung / Releasepläne Agile Entwicklergemeinde Unter ASF License vertrieben > wenig Restriktionen Indexieren in andere Systeme zb. DB Kostenlos & Open Source & Einsatzbereit Tabelle 1: Vor- und Nachteile von Lucene Abgaben bei Einnahmen die nur durch Lucene alleine entstehen Die tabellarisch dargestellten Fakten sprechen weitgehend für sich, dennoch sollen einige Punkte erklärt werden. Die konträren Argumente Sehr flexibel & Anpassungsaufwand beschreiben, dass Lucene dem Programmierer einerseits große Freiheiten bei der Gestaltung der Suche bietet, aber andererseits diese Freiheit Implementierungsaufwand bedeutet. Beispiel hierfür sei die praktisch unbegrenzte Erweiterbarkeit des Suchraums. Mit dem passenden Filter, der eine Eingabedatei liest und sie in ein Lucene Dokument verwandelt, kann jeder beliebige Dateityp in den Suchraum aufgenommen werden. Das Gegenargument zu diesem Punkt ist natürlich der hohe Anpassungsaufwand den der Programmierer hat um beispielsweise eigene Filter zu implementieren. Der Ausdruck Inkrementelles Reindexieren bedeutet, dass es möglich ist neue Dokumente in den schon vorhandenen Index einzufügen ohne komplett neu indexieren zu müssen und ohne dabei Performanzverluste hinnehmen zu müssen. Viele andere Suchmaschinen bieten diese Möglichkeit nicht. Ein weiterer Vorteil ist die Nutzung eines Invertierten Index. Das heisst es werden Worte oder Phrasen als erste Suchinstanz verwendet und nicht Dokumente. Diese Wörter/Phrasen verweisen auf die Dokumente die diese enthalten. Ausblick Die im Punkt Vorteile schon genannte sehr agile Entwicklergemeinde hat schon einige weitere Projekte in der Entwicklungsphase um Lucene weiter zu verbessern und so noch mehr Nutzer vom Einsatz dieses Produktes zu überzeugen. Unter

9 java/docs/lucene-sandbox/ können sich Interessierte einen Überblick über den Fortschritt möglicher neuer Eigenschaften von Lucene machen. In den folgenden Kapiteln sind einige Überbegriffe, deren Umsetzung (algorithmische Lösung) die höchste Priorität hat, näher beschrieben. Wortstammreduktion Was sich hinter dem Begriff verbirgt wurde schon erläutert. Ebenso angesprochen wurde der Schwierigkeitsgrad dieser Aufgabe. Wegen diesem gibt es immer wider neue Algorithmen. Neuerungen find Sie in [12]. Phonetische Suche Die phonetische Suche beschäftigt sich mit ähnlich oder gar gleich klingenden (und damit auch ähnlich geschriebenen) Wörtern. Als Beispiele können hier die Nachnamen Mayer und Meier dienen. An Hand der Schreibweise sind die Namen deutlich unterscheidbar, nur in der Aussprache ist kein Unterschied erkennbar. Diese Filtereigenschaft ist auch als klingt wie 8 oder meinten Sie bekannt. Damit soll dem Nutzer bei Tippfehlern geholfen werden oder wenn er sich nicht ganz sicher ist wie der Begriff geschrieben wird. Assoziative Suche Synonymsuche, wie die assoziative Suche auch häufig genannt wird, beruht auf der Erkennung semantischer Gemeinsamkeiten. Ein Beispiel für eine Synonymsuche: Wenn man nach dem Wort Auto sucht möchte man durch eine assoziative Suche nicht nur alle Auto enthaltenden Dokumente erhalten, sondern auch solche die PKW, Kraftfahrzeug, Vierradwagen, Benziner, Diesel enthalten. Das ist eine sehr schwierige Aufgabe, weil jedem Begriff eine Bedeutung zugeordnet werden muss. Diese zusätzliche Information muss erstens irgendwie generiert werden, am besten automatisch, und zweitens auch in einer schnell durchsuchbaren Weise gespeichert werden. Einen Implementierungsansatz finden Sie in der Lucene Sandbox(WordNet). Regex Das Akronym Regex steht für reguläre Ausdrücke. Diese sind in der aktuellen Version von Lucene leider nur sehr rudimentär durch die beiden Wildcardsymbole repräsentiert. Eine vollständige Aufnahme der regulären Ausdrücke in die Lucene Abfragesyntax würde die Mächtigkeit dieser enorm erhöhen. Hierbei sei als Referenz nur die Mächtigkeit von Perl, Python oder AWK Skripten angegeben [5]. Ein Regex besteht meistens aus einer eckigen Klammer die mehrere Zeichen enthält(z.b. [feg]). Die Zeichen in der Klammer stellen keine feste Reihenfolge dar sondern sind als Menge zu verstehen. Ausserdem gibt es Quantoren die hinter diesen Klammern platziert werden um zu signalisieren wie häufig die Buchstaben der genannten Menge vorkommen sollen. Diese kurze Einführung sollte Sie nur kurz an die Syntax regulärer Ausdrücke errinnern. Für weitere Informationen verwenden Sie die einschlägige Literatur. Zusammenfassung Alle Argumente betrachtend kommt man zu dem Schluss dass Lucene im momentanen Entwicklungsstatus schon ein flexibles und sehr mächtiges Framework ist um Volltextsuchen zu realisieren. Die große Gemeinde von zufriedenen, auch kommerziellen, Nutzern unterstützt diese Aussage. Der am Anfang nötige Aufwand zur Implementierung ist vergleichsweise gering zu den Möglichkeiten die Lucene bietet und die dieses Dokument nur tangieren konnte. Auch die Tatsache, dass Lucene ein Produkt der ASF ist, lässt das Vertrauen in das Produkt weiter steigen. Mit diesen Rahmenbedingungen müssen Nutzer wohl nicht mit einer Einstellung des Projekts rechnen, sondern dürfen sich auf weitere, noch funktionalere, Releases freuen. 8 engl. sounds like

10 Literatur [1] Gospondnetic, Otis; Hatcher, Erik: Lucene in Action, Manning Verlag (2005) [2] Hardt, Manfred: Suchmaschinen entwickeln mit Apache Lucene, Software & Support Verlag (2004) [3] Artikel Lucene. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 13. Juni 2006, 10:10 UTC. URL: (Abgerufen: 5. Juli 2006, 13:23 UTC) [4] Artikel Volltextsuche. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 7. August 2005, 00:31 UTC. URL: (Abgerufen: 5. Juli 2006, 13:26 UTC) [5] Friedl, Jeffrey: Reguläre Ausdrücke, O Reilly (2002) [6] Dollinger, Rainer: Optimierung von Web-Suchmaschinen am Beispiel von Apache Lucene, FH Oberösterreich (2005) [7] Ziegler, Cai: Suche nach Suche Apaches Lucene: eigene Suche und Indizierung ix (2006), Seite 120 [8] Naber, Daniel: Suchmaschinen entwickeln mit Apache Lucene, ix (2004), Seite 149 [9] Hatcher, Eric: Lucene Introduction, java.net(07/2004) [10] Unbekannter Author: The Lucene search engine: Powerful, flexible, and free (Easily add searching to your application with Lucene), [11] White, Tom : Did You Mean: Lucene?, java.net(08/2005) [12] Lucene Homepage der ASF:

11 Erstellungserklärung: Hiermit erkläre ich, dass ich die vorgelegte Arbeit selbstständig verfasst, noch nicht anderweitig für Prüfungszwecke vorgelegt, keine anderen als die angegebenen Quellen oder Hilfsmittel benützt sowie wörtliche und sinngemäße Zitate als solche gekennzeichnet haben. Georg Schumann,

Jakarta Lucene. Eine Java-Bibliothek zur Suchindex-Erstellung. Seminararbeit Tilman Schneider

Jakarta Lucene. Eine Java-Bibliothek zur Suchindex-Erstellung. Seminararbeit Tilman Schneider Jakarta Lucene Eine Java-Bibliothek zur Suchindex-Erstellung Seminararbeit Tilman Schneider 2004 Tilman Schneider Seminararbeit: Jakarta Lucene Folie 1 Agenda Definition: Suchmaschine Vorstellung von Jakarta

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

kleines keyword brevier Keywords sind das Salz in der Suppe des Online Marketing Gordian Hense

kleines keyword brevier Keywords sind das Salz in der Suppe des Online Marketing Gordian Hense Keywords sind das Salz in der Suppe des Online Marketing Keywords - Das Salz in der Suppe des Online Marketing Keyword Arten Weitgehend passende Keywords, passende Wortgruppe, genau passende Wortgruppe

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

- Google als Suchmaschine richtig nutzen -

- Google als Suchmaschine richtig nutzen - - Google als Suchmaschine richtig nutzen - Google ist die wohl weltweit bekannteste und genutzte Suchmaschine der Welt. Google indexiert und aktualisiert eingetragene Seiten in bestimmten Intervallen um

Mehr

Übung Medienretrieval WS 07/08 Thomas Wilhelm, Medieninformatik, TU Chemnitz

Übung Medienretrieval WS 07/08 Thomas Wilhelm, Medieninformatik, TU Chemnitz 02_Grundlagen Lucene Übung Medienretrieval WS 07/08 Thomas Wilhelm, Medieninformatik, TU Chemnitz Was ist Lucene? (1) Apache Lucene is a high-performance, full-featured text search engine library written

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Barrierefreie Webseiten erstellen mit TYPO3

Barrierefreie Webseiten erstellen mit TYPO3 Barrierefreie Webseiten erstellen mit TYPO3 Alternativtexte Für jedes Nicht-Text-Element ist ein äquivalenter Text bereitzustellen. Dies gilt insbesondere für Bilder. In der Liste der HTML 4-Attribute

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

DIE SUCHFUNKTION VON WINDOWS 7

DIE SUCHFUNKTION VON WINDOWS 7 DIE SUCHFUNKTION VON WINDOWS 7 Vorbemerkung Im Anschluss an den Vortrag dieses Themas bei den PC-Senioren LB am 05.07.2012 habe ich aufgrund verschiedener Reaktionen und Fragen einzelner Zuhörer festgestellt,

Mehr

Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum?

Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum? Leitfaden zur Druckdatenerstellung Inhalt: 1. Download und Installation der ECI-Profile 2. Farbeinstellungen der Adobe Creative Suite Bitte beachten! In diesem kleinen Leitfaden möchten wir auf die Druckdatenerstellung

Mehr

Internet Kurs. Suchmaschinen

Internet Kurs. Suchmaschinen Internet Kurs Suchmaschinen M. Stalder Internetkurs M. Stalder 1 / 6 Suchmaschinen Suchmaschinen haben sich in letzter Zeit immer mehr zu einem unverzichtbaren Hilfsmittel entwickelt. Das Internet bietet

Mehr

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

Mehr

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

LinguLab GmbH. Bedienungsanleitung Allgemeine Definition

LinguLab GmbH. Bedienungsanleitung Allgemeine Definition LinguLab GmbH Bedienungsanleitung Allgemeine Definition LinguLab GmbH T: +49.711.49030.370 Maybachstr. 50 F: +49.711.49030.22.370 70469 Stuttgart E: mba@lingulab.de I: www.lingulab.de Inhaltsverzeichnis

Mehr

Kurzanleitung zur Bereitstellung von Sachverhalten und Lösungen zum Universitätsrepetitorium auf dem Server unirep.rewi.hu-berlin.

Kurzanleitung zur Bereitstellung von Sachverhalten und Lösungen zum Universitätsrepetitorium auf dem Server unirep.rewi.hu-berlin. Humboldt-Universität zu Berlin Juristische Fakultät Kurzanleitung zur Bereitstellung von Sachverhalten und Lösungen zum Universitätsrepetitorium auf dem Server unirep.rewi.hu-berlin.de Stand: 1. Juni 2010

Mehr

SEMINAR Modifikation für die Nutzung des Community Builders

SEMINAR Modifikation für die Nutzung des Community Builders 20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

12. Dokumente Speichern und Drucken

12. Dokumente Speichern und Drucken 12. Dokumente Speichern und Drucken 12.1 Überblick Wie oft sollte man sein Dokument speichern? Nachdem Sie ein Word Dokument erstellt oder bearbeitet haben, sollten Sie es immer speichern. Sie sollten

Mehr

IAWWeb PDFManager. - Kurzanleitung -

IAWWeb PDFManager. - Kurzanleitung - IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Kleines Handbuch zur Fotogalerie der Pixel AG

Kleines Handbuch zur Fotogalerie der Pixel AG 1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link

Mehr

Durchführung der Datenübernahme nach Reisekosten 2011

Durchführung der Datenübernahme nach Reisekosten 2011 Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,

Mehr

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen Wir wollen, dass ihr einfach für eure Ideen und Vorschläge werben könnt. Egal ob in ausgedruckten Flyern, oder in sozialen Netzwerken und

Mehr

SEA Search Engine Advertising. esc. mediagroup

SEA Search Engine Advertising. esc. mediagroup Search Engine Advertising esc Was ist Suchmaschinenmarketing? Der Begriff Suchmaschinenmarketing (engl. Search Engine Marketing oder kurz: SEM) ist leider nicht einheitlich definiert. Einerseits werden

Mehr

teamsync Kurzanleitung

teamsync Kurzanleitung 1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier

Mehr

Es gibt einige Kardinalstellen, an denen sich auf der Festplatte Müll ansammelt: Um einen Großteil davon zu bereinigen.

Es gibt einige Kardinalstellen, an denen sich auf der Festplatte Müll ansammelt: Um einen Großteil davon zu bereinigen. Windows Säubern: Es gibt einige Kardinalstellen, an denen sich auf der Festplatte Müll ansammelt: Um einen Großteil davon zu bereinigen. Internetdateien: Öffnen Sie den Internet Explorer (blaues e ). Öffnen

Mehr

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt 1. Vorbetrachtungen... 2 2. Die Installation... 2 3. Einstellungen - Erstellung der Verknüpfung... 3 3.1 Benutzung des Konfigurationsprogramms

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

GEVITAS Farben-Reaktionstest

GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest Inhalt 1. Allgemeines... 1 2. Funktionsweise der Tests... 2 3. Die Ruhetaste und die Auslösetaste... 2 4. Starten der App Hauptmenü... 3 5. Auswahl

Mehr

Bilder zum Upload verkleinern

Bilder zum Upload verkleinern Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Ihr Weg in die Suchmaschinen

Ihr Weg in die Suchmaschinen Ihr Weg in die Suchmaschinen Suchmaschinenoptimierung Durch Suchmaschinenoptimierung kann man eine höhere Platzierung von Homepages in den Ergebnislisten von Suchmaschinen erreichen und somit mehr Besucher

Mehr

Anzeige von eingescannten Rechnungen

Anzeige von eingescannten Rechnungen Anzeige von eingescannten Rechnungen Wenn Sie sich zu einer Eingangsrechnung die eingescannte Originalrechnung ansehen möchten, wählen Sie als ersten Schritt aus Ihrem Benutzermenü unter dem Kapitel Eingangsrechnung

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie kann ich E-Mails schreiben? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory E-Mails schreiben können. In myfactory können Sie jederzeit schnell und einfach E-Mails verfassen egal

Mehr

Die Textvorlagen in Microsoft WORD und LibreOffice Writer

Die Textvorlagen in Microsoft WORD und LibreOffice Writer Die Textvorlagen in Microsoft WORD und LibreOffice Writer Liebe Teilnehmer(-innen) am Landeswettbewerb Deutsche Sprache und Literatur Baden- Württemberg, Diese Anleitung soll Ihnen helfen Ihren Wettbewerbsbeitrag

Mehr

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? UErörterung zu dem Thema Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? 2000 by christoph hoffmann Seite I Gliederung 1. In zu großen Mengen ist alles schädlich. 2.

Mehr

Serien-eMail mit oder ohne Anhang

Serien-eMail mit oder ohne Anhang Serien-eMail mit oder ohne Anhang Sie können im WohnungsManager sowohl objektübergreifend als auch in einem Objekt Serien-eMails versenden. Die Serien-eMail ist für SMTP (Short Message Tranfer Protocol)

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

Mehr

Eine Einführung in die Installation und Nutzung von cygwin

Eine Einführung in die Installation und Nutzung von cygwin Eine Einführung in die Installation und Nutzung von cygwin 1 1. Woher bekomme ich cygwin? Cygwin ist im Internet auf http://www.cygwin.com/ zu finden. Dort lädt man sich die setup.exe in ein beliebiges

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Erstellen und Bearbeiten von Inhalten (Assets)

Erstellen und Bearbeiten von Inhalten (Assets) Wichtig! Beachten Sie die Designrichtlinien im Kapitel Darstellung und Vorgaben zur Erstellung der Inhalte Ein erstellen Sie, wenn Sie einen Download (z.b. PDF-Datei, Word-, Excel-Datei) auf der Website

Mehr

PHPNuke Quick & Dirty

PHPNuke Quick & Dirty PHPNuke Quick & Dirty Dieses Tutorial richtet sich an all die, die zum erstenmal an PHPNuke System aufsetzen und wirklich keine Ahnung haben wie es geht. Hier wird sehr flott, ohne grosse Umschweife dargestellt

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern 1 Einleitung Lernziele Symbolleiste für den Schnellzugriff anpassen Notizenseiten drucken eine Präsentation abwärtskompatibel speichern eine Präsentation auf CD oder USB-Stick speichern Lerndauer 4 Minuten

Mehr

GITS Steckbriefe 1.9 - Tutorial

GITS Steckbriefe 1.9 - Tutorial Allgemeines Die Steckbriefkomponente basiert auf der CONTACTS XTD Komponente von Kurt Banfi, welche erheblich modifiziert bzw. angepasst wurde. Zuerst war nur eine kleine Änderung der Komponente für ein

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

virtuos Leitfaden für die virtuelle Lehre

virtuos Leitfaden für die virtuelle Lehre virtuos Zentrum zur Unterstützung virtueller Lehre der Universität Osnabrück virtuos Leitfaden für die virtuelle Lehre Zentrum virtuos Tel: 0541-969-6501 Email: kursmanager@uni-osnabrueck.de URL: www.virtuos.uni-osnabrueck.de

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

M@school Software- und Druckerzuweisung Selbstlernmaterialien

M@school Software- und Druckerzuweisung Selbstlernmaterialien Bildung und Sport M@school Software- und Druckerzuweisung Selbstlernmaterialien Hinweise zum Skript: LMK = Linker Mausklick RMK = Rechter Mausklick LMT = Linke Maustaste RMT = Rechte Maustaste Um die Lesbarkeit

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr

DRK Ortsverein Henstedt-Ulzburg e.v. DRK Möbelbörse. Benutzerhandbuch. Version 1.2

DRK Ortsverein Henstedt-Ulzburg e.v. DRK Möbelbörse. Benutzerhandbuch. Version 1.2 DRK Ortsverein Henstedt-Ulzburg e.v. DRK Möbelbörse Benutzerhandbuch Inhaltsverzeichnis Sinn und Zweck der Möbelbörse...3 Handhabung der Oberfläche... 3 Erklärung der einzelnen Menüteile...3 Bedingungen...

Mehr

Access Verbrecherdatenbank Teil 3

Access Verbrecherdatenbank Teil 3 Access Verbrecherdatenbank Teil 3 Allgemeines Im letzten Teil des Lehrgangs zu Microsoft Access erfährst du, wie man aus einer Datenbank Informationen herausfiltert, indem an Filter und Abfragen anwendet.

Mehr

Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte

Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte Wir von Textprovider, Anbieter von produktbeschreibung.eu möchten Ihnen mit diesem Infoblatt Basisinformationen an die Hand geben, wie

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Beschreibung des MAP-Tools

Beschreibung des MAP-Tools 1. Funktionen des MAP-Tool 2. Aufbau des MAP-Tools 3. Arbeiten mit dem MAP-Tool Beschreibung MAP-Tool.doc Erstellt von Thomas Paral 1 Funktionen des MAP-Tool Die Hauptfunktion des MAP-Tools besteht darin,

Mehr

Gezielt über Folien hinweg springen

Gezielt über Folien hinweg springen Gezielt über Folien hinweg springen Nehmen wir an, Sie haben eine relativ große Präsentation. Manchmal möchten Sie über Folien hinweg zu anderen Folien springen. Das kann vorkommen, weil Sie den gesamten

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Summenbildung in Bauteiltabellen mit If Then Abfrage

Summenbildung in Bauteiltabellen mit If Then Abfrage Summenbildung in Bauteiltabellen mit If Then Abfrage Die in Bauteiltabellen ausgelesenen Werte lassen sich in jeder Spalte als Summe berechnen. So können selbstverständlich die Flächen der in der Tabelle

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Hilfe und Support. Statische Hilfe. Inhaltsverzeichnis der Hilfetexte. Reihe TextGrid-Tutorials

Hilfe und Support. Statische Hilfe. Inhaltsverzeichnis der Hilfetexte. Reihe TextGrid-Tutorials Reihe TextGrid-Tutorials Hilfe und Support Das TextGridLab bietet ein integriertes Online-Hilfesystem an, das als Ganzes geöffnet oder nach Schlüsselwörtern durchsucht werden kann, sowie eine kontextbezogene

Mehr

Einfügen von Bildern innerhalb eines Beitrages

Einfügen von Bildern innerhalb eines Beitrages Version 1.2 Einfügen von Bildern innerhalb eines Beitrages Um eigene Bilder ins Forum einzufügen, gibt es zwei Möglichkeiten. 1.) Ein Bild vom eigenem PC wird auf den Webspace von Baue-die-Bismarck.de

Mehr

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Wie richten Sie Ihr Web Paket bei Netpage24 ein Wie richten Sie Ihr Web Paket bei Netpage24 ein Eine kostenlose ebook Anleitung von Netpage24 - Webseite Information 1 E-Mail Bestätigung... 3 2 Ticketsystem... 3 3 FTP Konto anlegen... 4 4 Datenbank anlegen...

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Abenteuer e-commerce Erfolgreich mit dem eigenen Onlineshop.

Abenteuer e-commerce Erfolgreich mit dem eigenen Onlineshop. Content & Contentpflege in oscommerce CMS - oder geht es auch günstiger? Seit Jahren gibt es keine Fachzeitschrift, welche das Thema Wichtigkeit von Content im Bezug auf Suchmaschinenoptimierung ausließ.

Mehr

Ein Tool zum Konvertieren von Pegasus Mail Adressbüchern und Verteilerlisten in Novell Groupwise Adressbücher.

Ein Tool zum Konvertieren von Pegasus Mail Adressbüchern und Verteilerlisten in Novell Groupwise Adressbücher. Ein Tool zum Konvertieren von Pegasus Mail Adressbüchern und Verteilerlisten in Novell Groupwise Adressbücher. Inhalt 1. Konvertieren von Adressbüchern und Verteilerlisten 1.1 Grundlagen 1.2 Adressbücher

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

4.1 Wie bediene ich das Webportal?

4.1 Wie bediene ich das Webportal? 4.1 Wie bediene ich das Webportal? Die Bedienung ist durch ein Redaktionssystem sehr einfach möglich. Das Tutorial zeigt Ihnen wie Sie SMS-News und Top-News erstellen und veröffentlichen können. Schritt

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Schulungsunterlagen zur Version 3.3

Schulungsunterlagen zur Version 3.3 Schulungsunterlagen zur Version 3.3 Versenden und Empfangen von Veranstaltungen im CMS-System Jürgen Eckert Domplatz 3 96049 Bamberg Tel (09 51) 5 02 2 75 Fax (09 51) 5 02 2 71 Mobil (01 79) 3 22 09 33

Mehr

Handbuch Groupware - Mailserver

Handbuch Groupware - Mailserver Handbuch Inhaltsverzeichnis 1. Einführung...3 2. Ordnerliste...3 2.1 E-Mail...3 2.2 Kalender...3 2.3 Kontakte...3 2.4 Dokumente...3 2.5 Aufgaben...3 2.6 Notizen...3 2.7 Gelöschte Objekte...3 3. Menüleiste...4

Mehr

1. Einführung. 2. Archivierung alter Datensätze

1. Einführung. 2. Archivierung alter Datensätze 1. Einführung Mit wachsender Datenmenge und je nach Konfiguration, kann orgamax mit der Zeit langsamer werden. Es gibt aber diverse Möglichkeiten, die Software wieder so zu beschleunigen, als würden Sie

Mehr

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden Moderne Apps für Smartphones und Tablets lassen sich ohne großen Aufwand innerhalb von wenigen Stunden designen Kunde Branche Zur Firma Produkte Übersicht LFoundry S.r.l Herrngasse 379-381 84028 Landshut

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Lernprogramm. EDS Anpassung für Administratoren. support.ebsco.com

Lernprogramm. EDS Anpassung für Administratoren. support.ebsco.com Lernprogramm EDS Anpassung für Administratoren support.ebsco.com Willkommen beim Tutorial für die Anpassung des EBSCO Discovery Service. Hier sehen wir, welche Anpassungsoptionen für EDS im EBSCOadmin

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

E-Mail-Inhalte an cobra übergeben

E-Mail-Inhalte an cobra übergeben E-Mail-Inhalte an cobra übergeben Sie bieten ihren potentiellen oder schon bestehenden Kunden über ihre Website die Möglichkeit, per Bestellformular verschiedene Infomaterialien in Papierform abzurufen?

Mehr

OSD-Branchenprogramm. OSD-Version 7.1.4 Was ist neu? EDV-Power für Holzverarbeiter

OSD-Branchenprogramm. OSD-Version 7.1.4 Was ist neu? EDV-Power für Holzverarbeiter OSD-Branchenprogramm OSD-Version 7.1.4 Was ist neu? EDV-Power für Holzverarbeiter Inhalt 1. Allgemeines 3 2. Version 7.1.4 4 2.1 Kundenauftragsabwicklung 4 2.1.1 EU-Überweisungen - Verwendungszweck 4 2.2

Mehr

5.2 Neue Projekte erstellen

5.2 Neue Projekte erstellen 5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort

Mehr

Outlook-Daten komplett sichern

Outlook-Daten komplett sichern Outlook-Daten komplett sichern Komplettsicherung beinhaltet alle Daten wie auch Kontakte und Kalender eines Benutzers. Zu diesem Zweck öffnen wir OUTLOOK und wählen Datei -> Optionen und weiter geht es

Mehr

Stammdatenanlage über den Einrichtungsassistenten

Stammdatenanlage über den Einrichtungsassistenten Stammdatenanlage über den Einrichtungsassistenten Schritt für Schritt zur fertig eingerichteten Hotelverwaltung mit dem Einrichtungsassistenten Bitte bereiten Sie sich, bevor Sie starten, mit der Checkliste

Mehr