Volltextsuche mit Oracle TEXT und Oracle Application Express ... in 10 Schritten! Oracle TEXT Trefferliste Erstellung einer TEXT-Anwendung 1. Schritt: Tabelle erstellen I Erstellung einer TEXT-Anwendung 1. Schritt: Tabelle erstellen II Erstellung einer TEXT Anwendung 1. Schritt: Tabelle erstellen (SQL) SQL Workshop oder SQL*Plus ... create table dokumente_tab( id number(10), bezeichnung varchar2(200), dokument blob, mimetype varchar2(100), datum date, constraint dokument_tab_pk primary key (id) ) Erstellung einer TEXT-Anwendung 2. Schritt: Anwendung erstellen 1. Seite: Dokumente hochladen – Formular auf Tabelle DOKUMENT_TAB 2. Seite: Volltextrecherche – Leere Seite Erstellung einer TEXT-Anwendung 3. Schritt: Formular „Dokumente hochladen“ Formular auf Tabelle Elemente ... – – P1_DATUM und P1_MIMETYPE löschen P1_DOKUMENT vom Typ "Datei durchsuchen" Erstellung einer TEXT-Anwendung 4. Schritt: Formular bearbeiten Prozesse – – Bestehende Prozesse löschen (keine Berücksichtigung des Datei-Uploads) Neuen PL/SQL Prozeß anlegen Erstellung einer TEXT-Anwendung 5. Schritt: PL/SQL Prozess hinzufügen declare v_mimetype varchar2(100); v_content blob; begin select blob_content, mime_type into v_content, v_mimetype from wwv_flow_files where name=:P1_DOKUMENT; insert into DOKUMENT_TAB (id, bezeichnung, dokument, datum, mimetype) values ( dokument_tab_seq.nextval, :P1_BEZEICHNUNG, v_content, sysdate, v_mimetype ); delete from wwv_flow_files where name=:P1_DOKUMENT; end; Erstellung einer TEXT-Anwendung 6.Schritt: Dokumente hochladen ... Erstellung einer TEXT-Anwendung 7.Schritt: Volltextindex erstellen ... Im SQL Workshop ... create index idx_volltext on dokument_tab (dokument) indextype is ctxsys.context parameters ('filter ctxsys.AUTO_FILTER') Index wurde erstellt. Erstellung einer TEXT-Anwendung 8. Schritt: Rechercheseite ... Inhalte: – – – – Textfeld zur Eingabe des Suchbegriffs Schaltfläche zum Absenden der Abfrage Bericht zur Anzeige der Trefferliste "ID"-Spalte verstecken select id, bezeichnung, datum, score(1) as relevanz from dokument_tab where contains(dokument, :P2_SUCHE, 1) > 0 Erstellung einer TEXT-Anwendung 8. Schritt: Rechercheseite ... Erstellung einer TEXT-Anwendung 9. Schritt: Prozedur zum Download hinzufügen create or replace procedure datei_herunterladen (p_id in number) is v_mimetype dokument_tab.mimetype%TYPE; v_datei dokument_tab.dokument%TYPE; v_bezeichnung dokument_tab.bezeichnung%TYPE; v_groesse number; begin select bezeichnung, mimetype, dokument, dbms_lob.getlength(dokument) into v_bezeichnung, v_mimetype, v_datei, v_groesse from dokument_tab where id = p_id; owa_util.mime_header(nvl(v_mimetype,'application/octet'),false); htp.p('Content-length:'|| v_groesse); htp.p('Content-Disposition: inline'); owa_util.http_header_close; wpg_docload.download_file(v_datei); end; grant execute on datei_herunterladen to public Erstellung einer TEXT-Anwendung 10. Schritt: Download-Link hinzufügen Berichtsspalte BEZEICHNUNG ... Erstellung einer TEXT-Anwendung Das fertige Ergebnis ... Ergebnis ... Und zum Verfeinern ... "Keyword in Context" á la Google SQL-Bericht ändern ... select id, bezeichnung, datum, score(1) as relevanz, ctx_doc.snippet('IDX_VOLLTEXT', id, :P2_SUCHE) as kontext from dokument_tab where contains(dokument, :P2_SUCHE, 1) > 0 Und zum Verfeinern ... "Keyword in Context" á la Google