Text DatenbankenOracle8i interMedia Text Version-30.10..ppt

上传人:confusegate185 文档编号:373212 上传时间:2018-10-05 格式:PPT 页数:71 大小:377.50KB
下载 相关 举报
Text DatenbankenOracle8i interMedia Text Version-30.10..ppt_第1页
第1页 / 共71页
Text DatenbankenOracle8i interMedia Text Version-30.10..ppt_第2页
第2页 / 共71页
Text DatenbankenOracle8i interMedia Text Version-30.10..ppt_第3页
第3页 / 共71页
Text DatenbankenOracle8i interMedia Text Version-30.10..ppt_第4页
第4页 / 共71页
Text DatenbankenOracle8i interMedia Text Version-30.10..ppt_第5页
第5页 / 共71页
亲,该文档总共71页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、Text DatenbankenOracle8i interMedia Text Version:30.10.2000Autoren:Bent GromannNiels BauerZusammenfassung:Dieses Dokument befat sich mit Volltextdatenbanken und stellt diese anhand Oracle8i interMedia Text vor. Verfahren und Funktionsweisen werden kurz in Form von erluternden Beispielen gezeigt.Beso

2、nderes Augenmerk liegt auf dem Laden von Texten, deren Indizierung, dem stellen von Anfragen sowie die Prsentation von Ergebnisdokumenten.Ein Vergleich mit SQL/MM Full Text schliet das Dokument ab.,Oracle8i interMedia Text Einfhrung,1.0 EinfhrungOracle interMedia Text ist Bestandteil von Oracle inte

3、rMedia und wird mit Version 8i der Oracle Datenbank ausgeliefert. Oracle8i interMedia Text erlaubt es unstrukturierte Daten (Texte) zu verwalten, indizieren und danach zu suchen. Die Freitextsuche erlaubt es Dokumente innerhalb und auerhalb der Oracle8i Datenbank zu durchsuchen. Es ermglicht content

4、-based querys, d.h. das finden von Dokumenten oder Texten die ein bestimmtes Wort enthalten.,1.1 Ein kurzes Beispiel create table docs (id number primary key, text varchar2( 80 ) ); insert into docs values ( 1, erstes Dokument ) ; insert into docs values ( 2, zweites Dokument ) ; commit ; create ind

5、ex doc_index on docs ( text ) indextype is ctxsys.context; select id from docs where constains ( text , first ) 0 ;Es werden alle Zeilen , in denen die Text-spalte, das Wort “first” enthlt gefunden. Der Ausdruck “ 0 “ ist notwendig um ein erlaubtes Oracle SQL Kommando zu benutzen, da boolsche Werte

6、im Moment nicht untersttzt werden.,Oracle8i interMedia Text Einfhrung,1.2 Wichtige nderungen im Vergleich mit Oracle ConTex 2.xSmtliche Funktionalitten sind schon im Kernel enthalten und laufen somit nicht mehr als Daemon wie dies in lteren Versionen der Fall war. Dies erhht die Performance und erle

7、ichtert die Entwicklung deutlich. Viele ConText Kommandos nderten sich von PL/SQL zu Standard SQL . Das Query Model wurde vereinfacht und besteht normalerweise nur noch aus single-step-querys Two-step-querys werden in Oracle 8i nicht mehr untersttzt und In-memory-querys werden durch einfache SQL-cur

8、sors ersetzt. Index Statements wechselten von PL/SQL zu normalen SQL,Oracle8i interMedia Text Einfhrung,1.3 System definierte Rollen CTXSYS Rolle Die CTXSYS Rolle ermglicht dem Benutzer das starten des CTXSRV Servers. Weiterhin kann er alle ausfhren aller Ttigkeiten eines CTXAPP Benutzers ausfhren.

9、CTXAPP Rolle Mit der CTXAPP Rolle kann der Benutzer Indexe erstellen, das Textdaten Wrterbuch verwalten sowie Prferenzen einbinden, angelegen und lschen. Das benutzen von Anfragen (Text queries ) ist genauso mglich wie auch die Benutzung der interMedia Text PL/SQL Funktionalitten.,Oracle8i interMedi

10、a Text Einfhrung,1.4 Laden von Dokumenten / gltige DatenformateDie Standardeinstellung erwartet das Dokumente in eine Textfeld geladen werden, aber das einbinden des Dateisystems bzw. das Einbinden von URL s ist mglich.Es gibt verschiedene Varianten zum laden von Daten SQL INSERT Anweisung ctxload e

11、xecutable SQL*Loader DBMS_LOB.LOADFROMFILE() PL/SQL ( Prozedur zum laden von LOBs aus BFILEs )Textfelder knnen verschiedene Datentypen wie VARCHAR2, CLOB, BLOB, CHAR oder BFILE haben. Als Dokumentenformate sind HTML, PDF, Microsoft Word sowie plain Text mglich.,Oracle8i interMedia Text Einfhrung,1.5

12、 Indexe erstellenWenn der Text in eine Textspalte geladen wurde kann damit begonnen werden eine Index zu erstellen. Hier ein kurzes Beispiel:Hier ein Beispiel:create index myindex on docs(text) indextype is ctxsys.context;Beim erstellen von Indexen gilt es die Besonderheiten der verschiedenen Sprach

13、en zu beachtet.,Oracle8i interMedia Text Einfhrung,1.5 Indexe erstellen Generelle Einstellungen fr alle Sprachendie Datentypen NCLOB, DATE und NUMBER knnen nicht indiziert werden Zum indizieren von verschiedenen Dokumenten ist es ntig das der im System vorhandene Inso-Filter richtig eingerichtet wur

14、de. Es wird die im System angegebene Sprache zum indizieren verwendet Die default Stop-List fr die im System angegebene Sprache wird verwendet fuzzy und stemming anfragen werden untersttzt wenn diese fr ihre Sprache vorhanden sind.,Oracle8i interMedia Text Einfhrung,1.5 Indexe erstellen Sprachen spe

15、zifische EinstellungenEnglisch Themen Informationen sind mglich und damit auch ABOUT Anfragen. Diese werden dadurch prziser.Deutsch Case-sensitives IndizierenComposite IndexingAlternate spellingHollndisch Composite IndexingAlternate spellingSchwedisch Alternate spelling,Oracle8i interMedia Text Einf

16、hrung,1.5 Indexe erstellen Sprachen spezifische EinstellungenEine Indexwartung ist nach dem Einfgen,Update oder dem lschen von Stzen notwendig ,dazu wird INDEX ALTER verwendet.Der im Hintergrund laufende ctxsrv server synchronisiert den Index in festen Intervallen automatisch.,Oracle8i interMedia Te

17、xt Einfhrung,1.6 AnfragenEs werden grundstzlich zwei Arten von Anfragen unterschieden, word querys und about-querys. Word-AnfragenEine word-query ist eine von einfachen Hochkommas eingeschlossenen Anfrage, nach einem bestimmten Wort oder einer PhraseSELECT SCORE(1) title from newsWHERE CONTAINS ( te

18、xt , oracle , 1) 1Es knnen AND , OR Operatoren sowie strukturierte Prdikate benutzt werden,Oracle8i interMedia Text Einfhrung,1.6 Anfragen About-AnfragenIn allen Sprachen zhlen ABOUT Anfragen die Anzahl von relevanten Dokumenten welche die Kriterien einer gestellten Anfrage erfllen. In englischer Sp

19、rache ist es mglich die Themen-Komponente des Index zu benutzen. Diese wird automatisch erstellt und erlaubt es Dokumente zu finden die konzeptionell mit der gestellten Anfrage beschftigen.SELECT SCORE(1) title from newsWHERE CONTAINS(text, about(politics) ,1) 0;Diese Anfrage findet alle Dokumente d

20、ie von politics handeln, also nicht nur das Wort enthalten.,Oracle8i interMedia Text Einfhrung,1.7 DokumentenprsentationNormalerweise werden die Resultate einer Anfrage dem Benutzer angezeigt. Der Benutzer whlt einen Eintrag aus und die Anwendungsumgebung wird das Dokument prsentieren.Mit interMedia

21、Text bestehen zwei unterschiedliche Wege Es besteht die Mglichkeit ein Dokument mit hervorgehobenen Begriffen anzuzeigen. Dabei sind die Terme der gestellten Anfrage hervorgehoben.Solche Terme knnen die Wrter der Anfrage oder die Terme einer ABOUT-Anfrage sein.Dabei werden fr verschiedene Dokumenten

22、formate unterschiedliche Prozeduren verwendet.,Oracle8i interMedia Text Einfhrung,1.7 Dokumentenprsentation TextausgabetypenTextausgabetyp Procedure Hervorgehoben Plaintext CTX_DOC.MARKUP Hervorgehoben HTML_Version CTX_DOC.MARKUP Hervorgehoben offset Info. Plaintext CTX_DOC.HIGHLIGHT Hervorgehoben o

23、ffset Info. HTML CTX_DOC.HIGHLIGHT Plain text CTX_DOC.FILTER HTML CTX_DOC.FILTER,Oracle8i interMedia Text Einfhrung,1.8 SQL-KommandosALTER INDEXwird verwendet um folgende Aufgaben zu realisierenUmbenennen eines IndexNeuaufbau des Index mit anderen EinstellungenWeiterfhren eine fehlgeschlagenen Index

24、operationDurchfhren von Indexwartung ( DML )IndexoptimierungHinzufgen von Stopwrtern zum IndexALTER INDEX schema.index_name RENAME to new_index_name;ALTER INDEX schema.index REBUILD online parameters ( paramstring);,Oracle8i interMedia Text Einfhrung,DROP INDEXwird benutzt um einen Index zu verwerfe

25、nSyntax : drop index schema. index force;force benutzen falls eine Indexoperation hngen geblieben istBeispiel drop index doc_index;,Oracle8i interMedia Text Einfhrung,CONTAINSStellt den Enthlt Operator dar.Syntax: CONTAINS( schema. column, text_query VARCHAR2,label NUMBER) RETURN NUMBER;schema.colum

26、n Gibt die Textspalte an in der gesucht wird. Diese Spalte mu einen Index haben text_query Der zusuchende TextBeispiel: SELECT SCORE(1) title from newsindexWHERE CONTAINS(text, oracle, 1) 0;,Oracle8i interMedia Text Einfhrung,CREATE INDEX Dient zum anlegen eines interMediaText index.Syntax: CREATE I

27、NDEX schema. index on schema. table(column) INDEXTYPE IS ctxsys.context PARAMETERS(paramstring);schema.index Gibt den Namen des zu indizierenden Textes an schema.table(column) Name der Tabelle und er Spalte die zu indizieren sind. Beispiele:create index newsindex on mytable(news)indextype is ctxsys.

28、context;create index newsindex on mytable(news) indextype is ctxsys.context parameters(lexer MY_LEXER stoplist MY_STOP);,Oracle8i interMedia Text Einfhrung,SCOREDer score Operator in einem select Klausel gibt die Werte zurck die von einem CONTAINS Operator erzeugt werdenSyntax: SCORE(label NUMBER)(L

29、abel NUMBER ) Spezifiziert eine Zahl um die Score- Prozedur in einer Anfrage zu identifizieren.Beispiel:SELECT employee_name, SCORE(10), SCORE(20)FROM employee_databaseWHERE CONTAINS (emp.resume, software developer, 10) 0 ORCONTAINS (emp.resume, java, 20) 0ORDER BY NVL(SCORE(10),0), NVL(SCORE(20),0)

30、;,Oracle8i interMedia Text Einfhrung,Text Datenbanken Oracle8i interMedia TextKapitel 2 Laden von Dokumenten,2. Laden von DokumentenDie Default - Einstellung erwartet das Dokumentedirekt in einem Textfeld gespeichert werden.Das einbinden des Dateisystems bzw. das Einbindenvon URLs ist mglich.Dies ge

31、schieht durch Verwendung von Datastore Objekts.,Oracle8i interMedia Text Laden von Dokumenten,2.1 Datastored ObjectsDatastore Objekte legen fest, wie Text gespeichert wirdDIRECT_DATASTORE und DETAIL_DATASTORE:Die Daten werden intern in einer Text - Spalte gespeichert. FILE_DATASTOREDie Daten werden

32、extern in Dateien des Betriebssystems gespeichert. In der Textspalte steht der Dateiname URL_DATASTOREDie Daten werden extern im Internet / Intranet gespeichert. Jede URL kann in einem extra Textfeld gespeichert werden.,Oracle8i interMedia Text Laden von Dokumenten,2.2 Die SQL Insert AnweisungEin ei

33、nfacher Weg Daten zu laden besteht darin eine Tabelle mit zwei Spalten ( id, text ) anzulegen und diese dann mit dem insert Kommando zu fllen.Beispiel:Create table docs ( id number primary key , text varchar2 ( 80 ) );Insert into docs values ( 1 , this is the text in the first dokument );Insert into

34、 docs values ( 2 , this isthe text in the second dokument );,Oracle8i interMedia Text Laden von Dokumenten,2.3 SQL LoaderDas folgende Beispiel ldt Dateien mit verschieden Formaten in eine Tabelle mit eine Textspalte von Typ BLOB.Anlegen der Tabelle:CREATE TABLE articles_formatted (ARTICLE_ID NUMBER

35、PRIMARY KEY ,AUTHOR VARCHAR2(30),FORMAT VARCHAR2(30),PUB_DATE DATE,TITLE VARCHAR2(256),TEXT BLOB);,Oracle8i interMedia Text Laden von Dokumenten,Lesen des Kontrollfilessqlldr userid=demo/demo control=loader1.dat log=loader.logInhalt des Kontrollfiles:INFILE loader2.dat INTO TABLE articles_formatted

36、APPEND FIELDS TERMINATED BY , (article_id SEQUENCE (MAX,1), author CHAR(30), format, pub_date SYSDATE, title, ext_fname FILLER CHAR(80), text LOBFILE(ext_fname) TERMINATED BY EOF),Oracle8i interMedia Text Laden von Dokumenten,Beispiel LOADER2.DATBen Kanobi, plaintext,Kawasaki news article,/sample_do

37、cs/kawasaki.txt, Joe Bloggs, plaintext,Java plug-in,/sample_docs/javaplugin.txt, John Hancock, plaintext,Declaration of Independence,/sam_doc/ind.txt, M. S. Developer, Word7,Newsletter exam,/sam_docs/newsletter.doc, M. S. Developer, Word7,Resume exam,/sam_docs/resume.doc, X. L. Developer, Excel7,Com

38、mon exam,/sam_docs/common.xls,Oracle8i interMedia Text Laden von Dokumenten,2.4 ctxloadctxload stellt folgende Operationen zur Verfgung:Laden von Texten Dokument Update / Export Thesaurus Import und Export,Oracle8i interMedia Text Laden von Dokumenten,Thesaurus Import und ExportBenutzt ctxload zum l

39、aden von Thesaurusdaten aus einem File in die iMT Thesaurus Tabelle.Als Importfile dient ein ASCII File das Eintrge fr Synonyms, broader Terme , narrower Terme, or related Terme welche zum erweitern von Anfragen benutzt werden knnen. ctxload kann auch zum exportieren eines Thesaurus durch Ausgabe de

40、s Inhaltes in eine Datei verwendet werden.Thesaurus Import ctxload -user jsmith/123abc -thes -name tech_doc -file tech_thesaurus.txtThesaurus Export ctxload -user jsmith/123abc -thesdump -name tech_doc -file tech_thesaurus.out,Oracle8i interMedia Text Laden von Dokumenten,Laden von Textctxload kann

41、auch zum laden eines Textes aus einer Datei in eine LONG or LONG RAW Spalte einer Tabelle benutzt werden. Als Importfile dient ein ASCII File welches den Text enthlt. Fr strukturierte Daten mu ein File mit den entsprechenden Headerdaten vorhanden sein.Dokument Update / ExportDas ctxload utility unte

42、rsttzt das aktualisieren von aus DateienSowie das exportieren von LONG RAW, LONG, BLOB und CLOB Spalten in Dateien.,Oracle8i interMedia Text Laden von Dokumenten,Update eines einzelnen Text FeldesDas folgende Beispiel aktualisiert ein einzelnes Textfeld , welches durch einen Primrschlsselwert = 1 ge

43、kennzeichnet ist mit dem Inhalt der Datei myfile. Der Index myindex zeigt die Textspalte an.ctxload -user scott/tiger -update -name myindex -file myfile -pk 1oder , wenn der Primrschlssel nicht numerisch ist ctxload -user scott/tiger -update -name myindex -file myfile -pk “Oracle,1“,Oracle8i interMe

44、dia Text Laden von Dokumenten,2.6 Untersttzte Filterformate Inso Filter Dieser Filter ermglicht das indizieren der meisten Formate. Weiterhin ist das konvertieren z.B. in HTML mglich.Generische FormateASCII Text (7 &8bit versions) Alle Versionen ANSI Text (7 & 8 bit) Alle Versionen Unicode Text Alle

45、 Versionen HTML Alle Versionen IBM Revisable Form Text Alle Versionen IBM FFT Alle Versionen bis 3.0 Microsoft Rich Text Format (RTF) Alle Versionen,Oracle8i interMedia Text Laden von Dokumenten,DOS FormateIBMWriting Assistant Version 1.01 Lotus Manuscript Versionen bis 2.0 Microsoft Word Versionen

46、bis 6.0 Microsoft Works Versionen bis 2.0 Office Writer Versionen 4.0 bis 6.0 WordPerfect Versionen bis 7.0 WordStar Versionen bis 7.0 WordStar 2000 Versionen bis 3.0 XyWrite Versionen bis III Plus,Oracle8i interMedia Text Laden von Dokumenten,Windows FormateCorel WordPerfectfor Windows Versionen bi

47、s 8.0 Lotus WordPro Lotus SmartSuite Microsoft Windows Works Versionen bis 4.0 Microsoft Windows Write Versionen bis 3.0 Microsoft Word 97 Word 97 Microsoft Word 2000 Beta 2 Microsoft Word for Windows Versionen bis 7.0 Microsoft WordPad Alle Versionen Novell Perfect Works Version 2.0 Novell WordPerf

48、ect for Windows Versionen bis 7.0 WordStar for Windows Version 1.0,Oracle8i interMedia Text Laden von Dokumenten,Text Datenbanken Oracle8i interMedia TextKapitel 3Indizieren von Dokumenten,3. Indexebei CREATE INDEX bzw. bei ALTER INDEX knnen verschiedene Voreinstellungen/Optionen angegeben werdenbeeinflusst die Art und Weise, in der Oracle Text indiziertVorgaben / Voreinstellungen fr:- Datastore - Filter- Lexer - Wordlist- Storage - Stop List- Section Group,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1