Textdatenbanken Jana Bulik 98I 15. November 2001.

Slides:



Advertisements
Ähnliche Präsentationen
Support.ebsco.com Lernprogramm zum Erstellen einer lokalen Sammlung.
Advertisements

JPQL Java Persistence Query Language
Objekt – Relationales – Modell Tomasz Makowski IN
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Fallstudie. 2 Statistik April Dokumente Jan Mio. Dokumente Performance 3 Mio. Queries pro Tag 9. Juni 2000 Most popular search engines.
Alternativen und Muster. Alternativen Gegeben ist eine Tabelle in der ein Attribut der Tabelle Buecher Gruppe genannt wurde. So gibt es unter anderem.
SQL als Abfragesprache
SQL als Abfragesprache
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
XML Standardisierungen und Abfragesprachen
Speicherung von XML- Dokumenten als Large Objects.
Oracle8i interMedia Text
Einführung XML XML Einführung Andreas Leicht.
Verwaltung von Dokumenten mittels Oracle InterMedia Text.
Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.
MMQL – Multimedia Query Language Eine Anfragesprache für Multimedia-Ähnlichkeitsanfragen Christian Mantei.
Datenintegrität Referentielle Integrität create table
Oracle interMedia Audio Vortrag für das Seminar Oracle Zusatzoptionen Chris Haußmann.
Oracle interMedia Image
DVG Klassen und Objekte
Intelligentes Crawling im WWW mit Hilfe intuitiver Suchbedingungen
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
Einführung MySQL mit PHP
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
RDF-S3 und eRQL: RDF-Technologien für Informationsportale Karsten Tolle und Fabian Wleklinski.
Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von.
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Wir bauen uns eine Webapplikation!
Relationale Datenbanken III
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
XML-Query. Übersicht Was ist XML-Query? Vergleich RDB XML-Dokument Syntaktisches und Use-Cases Kritik und Diskussion.
Vorlesung #4 SQL (Teil 1).
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Datenbanksysteme für hörer anderer Fachrichtungen
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Von Isabelle Spörl und Simon Schausberger
Trust and context using the RDF- Source related Storage System (RDF‑S3) and easy RQL (eRQL) Karsten Tolle und Fabian Wleklinski.
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
SQLite und XML in PHP 5.
Verdichten von Daten mit Gruppenfunktionen
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
2 Auswählen und Sortieren von Daten. 2-2 Filtern von Zeilen mit Selektion "…suche alle Angestellten in Abteilung 10" EMP EMPNO ENAME JOB... DEPTNO 7839KINGPRESIDENT.
Google (Web-Suchmaschine) Google Books Google Scholar
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
Prolog: Datenbanken Inhalt - Überblick - Erstellen einer Datenbank
Datenbank für Skriptenverkauf
PHPmyadmin Maya Kindler 6c.
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
DOAG SIG interMedia Mannheim, Barbara Steinhanses Business Development Manger interMedia, Text und Lite Business Unit - Application Server Oracle.
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
 ====!"§==Systems= M. Scholz, 'Erfahrungen mit Oracle interMedia Text 8.1.7' debis Systemhaus GEI GmbH, GS Berlin , Seite 1. Erfahrungen mit.
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Suchen mit AltaVista im WebSpace
Create Table, Rechte und Rollen
Left Join, Right Join, Outer Join
Indexierung Oracle: indexes Indexierung.
Betriebsmittelsuche M.Hoppe
(Structured Query Language)
 Präsentation transkript:

Textdatenbanken Jana Bulik 98I 15. November 2001

Textdatenbanken - Überblick 1. Laden von Texten / Dokumenten 2. Indexieren und Indexwartung 3. Anfragen und Anfrageoperatoren 4. Highlighting und Präsentation von Ergebnisdokumenten 5. Vergleich Oracle InterMedia Text mit SQL/MM Full Text

1. Laden von Texten/Dokumenten

1. Datastored Objekte 2. SQL – Insertanweisung 3. ctxload

1. Laden von Texten/Dokumenten 1.1 Datastored Objekte -DIRECT_DATASTORE - DETAIL_DATASTORE - FILE_DATASTORE - URL_DATASTORE - USER_DATASTORE

1. Laden von Texten/Dokumenten DIRECT_DATASTORE - besitzt keine Attribute - Speicherung der Daten intern in Textspalten - einzelne Zeile wird als einzelnes Dokument angezeigt

1. Laden von Texten/Dokumenten DETAIL_DATASTORE - Datenspeicherung wie bei DIRECT_DATASTORE - Dokument besteht aus mind. einer Zeile - Attribute: binary detail_table detail_key detail_lineno detail_text

1. Laden von Texten/Dokumenten FILE_DATASTORE - Datenspeicherung extern in den Daten des Betriebssystems - Path – Attribut gibt an, wo externes Textfile gespeichert ist

1. Laden von Texten/Dokumenten URL_DATASTORE - Datenspeicherung extern im Internet bzw. Intranet - Attribute: Timeout Maxthreads Urlsize Maxurls Maxdocsize http_proxy und ftp_proxy No_proxy

1. Laden von Texten/Dokumenten USER_DATASTORE - Wird benutzt, um zusätzliche Informationen dem Text hinzuzufügen - Attribut: Procedure

1. Laden von Texten/Dokumenten 1.2 SQL – Insertanweisung - einfachste Möglichkeit: Anlegen und Füllen einer Tabelle mit zwei Spalten Anlegen der Tabelle: CREATE TABLE tabellenname (id number primary key, text varchar2 (80)); Füllen der Tabelle: INSERT INTO tabellenname values (1, Text Dokument 1); INSERT INTO tabellenname values (2, Text Dokument 2);

1. Laden von Texten/Dokumenten 1.1 ctxload -Laden von Texten - Thesaurus Import und Export - Dokument Update/Export

1. Laden von Texten/Dokumenten Laden von Texten - wird zum Laden von Texten aus einer Datei benutzt - Text wird in eine LONG oder LONG RAW Spalte einer Tabelle gespeichert - Bei Import unstrukturierter Daten muss entsprechendes Headerfile vorhanden sein

1. Laden von Texten/Dokumenten Thesaurus Import und Export - wird zum Laden von Thesaurusdaten aus einem ASCII File in die interMedia Text Thesaurus Tabelle benutzt - Ctxload kann zum Importieren und Exportieren von Files benutzt werden

1. Laden von Texten/Dokumenten Dokument Update/Export - ctxload utility unterstützt: Das Exportieren von Datenbankspalten in Dateien Das Aktualisieren von Datenbankspalten aus Dateien

2. Indexieren und Indexwartung

1. Filterobjekte 2. Lexer Objekte 3. Wortlistenobjekte (Wordlist Objects) 4. Speicherobjekte (Storage Objects)

2. Indexieren und Indexwartung 2.1 Filterobjekte - sollen festlegen, wie Texte für Indizierung gefiltert werden - Oracle speichert formatierte Dokumente in Originalform - Benutzt Filter, um Text oder HTML – Code zu erzeugen - Diese temporären Texte werden dann von Oracle indiziert

2. Indexieren und Indexwartung Verschiedene Filterobjekte: - NULL_FILTER - INSO_FILTER - USER_FILTER - CHARSET_FILTER

2. Indexieren und Indexwartung 2.2 Lexer Objekte - Werden verwendet, um die Sprache eines Textes festzustellen - Objekte: BASIC_LEXER CHINESE_VGRAM_LEXER JAPANESE_VGRAM_LEXER KOREAN_LEXER

2. Indexieren und Indexwartung BASIC_LEXER: - Wird für Englisch und westeuropäische Sprachen verwendet - Wird benutzt, um aus Texten einzelne Zeichen zu extrahieren

2. Indexieren und Indexwartung BASIC_LEXER: (Attribute) continuation numgroup numjoin skipjoin mixed_case alternate_case

2. Indexieren und Indexwartung 2.3 Wortlistenobjekte (Wordlist Objects) - Werden verwendet, um erweiterte Anfrageoperationen zu ermöglichen - Verwendetes Objekt: BASIC_WORDLIST - Die benutzte Sprache muss dabei mit angeben werden - Sprachen: NULL, ENGLISH, DUTCH, FRENCH, GERMAN, ITALIAN und SPANISH - Bei Angabe von NULL wird der Operator "$" ignoriert

2. Indexieren und Indexwartung Beispiele: - fuzzy_match: gibt an welche Routinen eingesetzt werden - fuzzy_score: gibt das untere Ergebnislimit an - fuzzy_numresults: gibt die max. zu erwartete Anzahl der Anfrageergebnisse an

2. Indexieren und Indexwartung 2.4 Speicherobjekte (Storage Objects) - gibt Einstellungsparameter und Tabellengröße einer Tabelle an - Diese Tabellen sind mit einem Textindex verbunden - Objekt: BASIC_STORAGE

2. Indexieren und Indexwartung Beispiele: - i_table_clause: Indextabelle, bei Tabellenerstellung - k_table_clause: Schlüsselworttabelle, bei Tabellenerstellung - r_table_clause: rowid – Table, bei Tabellenerstellung - n_table_clause: "negative list" – Tabelle, bei Tabellenerstellung

3. Anfragen und Anfrageoperatoren

1. Wort - Anfragen 2. About – Anfragen 3. Gemischte Anfragen 4. Operator Prioritäten 5. Spezielle Zeichen in Anfragen

3. Anfragen und Anfrageoperatoren 3.1 Wort – Anfragen - wird benutzt, wenn man nach einem bestimmten Wort oder Wortgruppe sucht - Es werden die log. Operatoren AND und OR, sowie strukturierte Prädikate benutzt - Es ist möglich mit count(*), CTX_QUERY.COUNT oder CTX_QUERY.EXPLAIN die Trefferanzahl zu ermitteln

3. Anfragen und Anfrageoperatoren Beispiel: CTX_QUERY.COUNT_HITS - gibt Anzahl der Treffer zurück - 2 verschiedene Modi: Exact Mode Estimate mode

3. Anfragen und Anfrageoperatoren Beispiel: CTX_QUERY.COUNT_HITS COUNT_HITS( index_name IN VARCHAR2, text_query IN VARCHAR2, exact IN BOOLEAN DEFAULT TRUE) RETURN NUMBER;

3. Anfragen und Anfrageoperatoren 3.2 About – Anfragen - zählen die Dokumente, die die Kriterien der gestellten Anfrage erfüllen - Themenkomponente des Indexes kann benutzt werden (nur in englischer Sprache möglich)

3. Anfragen und Anfrageoperatoren Beispiel: ABOUT (Text) - Text kann einzelnes Wort, Wortgruppe, Satz oder Aneinanderreihung beliebiger Wörter sein

3. Anfragen und Anfrageoperatoren Beispiel: Einzelnes Wort:'about (dog)' Wortgruppe:'about (cats and dogs)' beliebige Wörter:'about (cat dog house)' - es werden alle Dokumente zurückgegeben, die diese Wörter enthalten -ein Dokument wird höher bewertet, wenn es alle Wörter enthält

3. Anfragen und Anfrageoperatoren 3.3 Gemischte Anfragen - Vermischung beider Anfrageformen (Wort – Anfrage, About – Anfrage) - Benutzung der Operatoren AND und OR - Beispiel: ABOUT und WORT Anfrage about (Hunde) und Katze ABOUT Anfrage mit anderer ABOUT Anfrage about (Hunde) not about (Dackel)

3. Anfragen und Anfrageoperatoren 3.4 Operator Prioritäten - Komponenten einer Abfrage werden in bestimmter Reihenfolge abgearbeitet - Reihenfolge wird von Priorität des Operators bestimmt - Textanfrageoperatoren werden in zwei verschiedene Gruppen eingeteilt

3. Anfragen und Anfrageoperatoren EQUIVALENCE (=) NEAR (;) WEIGHT (*), threshold (>) MINUS (-) NOT (~) WITHIN AND (&) OR (|) ACCUMULATE (,) Wildcard Characters ABOUT STEM ($) FUZZY (?) SOUNDEX (!) Gruppe 1: (Operatoren) Gruppe 2: (Operat. u. Zeichen)

3. Anfragen und Anfrageoperatoren - Aufzählreihenfolge entspricht der Priorität - Höchste Priorität wird zuerst abgearbeitet - Abarbeitung von links nach rechts

3. Anfragen und Anfrageoperatoren AnfrageReihenfolge der Bearbeitung w1 & w2| w3(w1 & w2) | w3 w1 | w2 & w3(w1) | (w2 & w3) ?w1, w2 | w3 & w4(?w1), (w2 | (w3 & w4)) a = b & c = d(a=b) & (c=d) dog and cat WITHIN bodydog and (cat WITHIN body)

3. Anfragen und Anfrageoperatoren 3.4 Spezielle Zeichen in Anfragen Wildcard Zeichen Gruppierende Zeichen Escape Zeichen

3. Anfragen und Anfrageoperatoren - Wildcard Zeichen %an dieser Stelle kann ein beliebiges anderes Zeichen stehen (auch mehrmals) Bsp.: 'haus%' – Findet alle Wörter, die mit Haus beginnen _ an dieser Stelle kann irgendein einzelnes Zeichen stehen Bsp.: '_ing' - Findet alle Wörter, die auf ing enden, aber nur mit 4 Buchstaben geschrieben werden.

3. Anfragen und Anfrageoperatoren - Gruppierende Zeichen ()runde Klammern dienen zum Gruppieren von Operatoren und Termen []dienen auch zum Gruppieren, wie die runden Klammern, aber verhindern das Eindringen von Expansionsoperatoren (z.B. FUZZY oder STEM)

3. Anfragen und Anfrageoperatoren - Escape Zeichen {}Kennzeichnung eines Strings aus Zeichen und Symbolen als Escape – Sequenz Bsp.: 'AT\&T' oder '{AT&T}' \Kennzeichnung eines einzelnen Zeichens als Escape – Sequenz Bsp.: 'high\-voltage' oder '{high-voltage}'

4. Highlighting und Präsentation von Ergebnisdokumenten

- Für Benutzer interessant, in welchen Dokumenten sich die Treffer befinden - Günstig: Einsicht in die gefundenen Dokumente Nach gestellter Anfrage werden dem Benutzer alle Dokumente angezeigt, die die Anfrage erfüllen. Benutzer wählt dann das anzuzeigende Dokument aus.

4. Highlighting und Präsentation von Ergebnisdokumenten - Mit Hilfe von interMedia Text können gefundene Texte unterschiedlich dargestellt werden - Z.B.: Unterstreichung der Suchwörter

4. Highlighting und Präsentation von Ergebnisdokumenten - Beispiel: CTX_DOC.FILTER Syntax: CTX_DOC.FILTER( index_name IN VARCHAR2, textkey IN VARCHAR2, restab IN VARCHAR2, query_id IN VARCHAR2 DEFAULT 0, plaintext IN BOOLEAN DEFAULT FALSE);

4. Highlighting und Präsentation von Ergebnisdokumenten - Beispiel: CTX_DOC.MARKUP Syntax: CTX_DOC.MARKUP ( index_name IN VARCHAR2, textkey IN VARCHAR2, text_query IN VARCHAR2, restab IN VARCHAR2, query_id IN VARCHAR2 DEFAULT 0, plaintext IN BOOLEAN DEFAULT FALSE, tagset IN VARCHAR2 DEFAULT 'TEXT_DEFAULT', starttag IN VARCHAR2 DEFAULT NULL, endtag IN VARCHAR2 DEFAULT NULL, prevtag IN VARCHAR2 DEFAULT NULL, nexttag IN VARCHAR2 DEFAULT NULL);

5. Vergleich Oracle interMedia Text mit SQL/MM Full Text

- "normale" Suchanfragen mit 'like' nicht mehr leistungsfähig genug Oracle interMedia Text unterstützt neue Suchmechanismen -Diese neuen Suchmechanismen sind im Standard von Orcale interMedia Text vorgesehen

5. Vergleich Oracle interMedia Text mit SQL/MM Full Text - Neue strukturelle Einheiten - Neue Operationen - neue Anfrage- und Bearbeitungsmöglichkeiten

5. Vergleich Oracle interMedia Text mit SQL/MM Full Text - Neue strukturelle Einheiten: Wörter Sätze Abschnitte

5. Vergleich Oracle interMedia Text mit SQL/MM Full Text - Neue Operationen: "Boolean Search" "Ranking" "Conceptual Search"

5. Vergleich Oracle interMedia Text mit SQL/MM Full Text - Neue Anfrage- und Bearbeitungsmöglichkeiten : Einzelwortsuche Suche von Phrasen inhaltsbasierte Suche Stopwort Verarbeitung Filtermöglichkeiten erweiterte Suche

5. Vergleich Oracle interMedia Text mit SQL/MM Full Text - Beispiel: "Conceptual Search" o Standard SELECT * FROM myDocs WHERE 1 = CONTAINS (Textbody, 'IS ABOUT "every text …"'); o o Oracle SELECT SCORE(1) title FROM news WHERE CONTAINS (text, 'about(politics)', 1) > 0;

5. Vergleich Oracle interMedia Text mit SQL/MM Full Text - Beispiel: Suche von Phrasen o Standard SELECT * FROM myDocs WHERE 1 = CONTAINS (TextBody, '"specific language"'); o Oracle SELECT employee_name, SCORE(1) FROM employee_database WHERE CONTAINS (emp.resume, 'software developer') > 0;