1 / 56

Textdatenbanken

Textdatenbanken. Jana Bulik 98I 15. November 2001. Textdatenbanken - Überblick. Laden von Texten / Dokumenten Indexieren und Indexwartung Anfragen und Anfrageoperatoren Highlighting und Präsentation von Ergebnisdokumenten Vergleich Oracle InterMedia Text mit SQL/MM Full Text.

joann
Download Presentation

Textdatenbanken

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Textdatenbanken Jana Bulik 98I 15. November 2001

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

  3. 1. Laden von Texten/Dokumenten

  4. 1. Laden von Texten/Dokumenten • Datastored Objekte • SQL – Insertanweisung • ctxload

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

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

  7. 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

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

  9. 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

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

  11. 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’);

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

  13. 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

  14. 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

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

  16. 2. Indexieren und Indexwartung

  17. 2. Indexieren und Indexwartung • Filterobjekte • Lexer Objekte • Wortlistenobjekte (Wordlist Objects) • Speicherobjekte (Storage Objects)

  18. 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

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

  20. 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

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

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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 3. Anfragen und Anfrageoperatoren

  28. 3. Anfragen und Anfrageoperatoren • Wort - Anfragen • About – Anfragen • Gemischte Anfragen • Operator Prioritäten • Spezielle Zeichen in Anfragen

  29. 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

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

  31. 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;

  32. 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)

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

  34. 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

  35. 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)

  36. 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

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

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

  39. 3. Anfragen und Anfrageoperatoren

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

  41. 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.

  42. 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)

  43. 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}'

  44. 4. Highlighting und Präsentation von Ergebnisdokumenten

  45. 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.

  46. 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

  47. 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);

  48. 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);

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

  50. 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

More Related