Benutzer-Werkzeuge

Webseiten-Werkzeuge


prod:oracle_text_ctxrule_index

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
prod:oracle_text_ctxrule_index [2016/02/06 18:59] – [Oracle Text - Einsatz des CTXRULE Indexes - Mit Abfrageregeln Dokumente klassifizieren] gpipperrprod:oracle_text_ctxrule_index [2016/02/20 16:14] (aktuell) – [Oracle Text 12c CTXRULE Indexe - Mit Abfrageregeln Dokumente klassifizieren] gpipperr
Zeile 1: Zeile 1:
-=====Oracle Text - Einsatz des CTXRULE Indexes - Mit Abfrageregeln Dokumente klassifizieren ====+=====Oracle Text 12c CTXRULE Indexe - Mit Abfrageregeln Dokumente klassifizieren ====
 **Verfügbar ab Oracle 9.0.1 - getestet mit Oracle 12c R1** **Verfügbar ab Oracle 9.0.1 - getestet mit Oracle 12c R1**
  
 +Einführung in Oracle Text => [[dba:oracle_text|Oracle Text - Volltext Suche über Text Dokumente]]
  
 Der CTXRULE Index wird verwendet um in Systemen, die aufgrund von Regeln Dokumente verteilen sollen, das entsprechende Regelwerk aufzubauen. Auf Basis einer Volltext Suche wird dabei das Dokument entsprechenden Klassen zugeordnet. Der CTXRULE Index wird verwendet um in Systemen, die aufgrund von Regeln Dokumente verteilen sollen, das entsprechende Regelwerk aufzubauen. Auf Basis einer Volltext Suche wird dabei das Dokument entsprechenden Klassen zugeordnet.
Zeile 8: Zeile 9:
  
  
-Der Vorteil liegt darin, das nicht das eigentliche Dokument zuvor indiziert werden muss, sondern "on the fly" eine Basis von Regel auf dem Dokument angewendet werden.+Der Vorteil liegt darin, dass nicht das eigentliche Dokument zuvor indiziert werden muss, sondern "on the fly" eine Basis von Regel auf dem Dokument angewendet werden.
  
 Allerdings muss der Inhalt des Dokuments dazu schon als Text (VARCHAR2 oder CLOB) vorliegen, dem [[https://docs.oracle.com/database/121/CCAPP/GUID-E330ED1C-CEEF-4433-B0A2-7ACB39763053.htm#CCAPP9143|"Match"]] Operator des CTXRULE Index wird dieser Text übergeben und über ein Regelwerk auf Basis der Regeln in einer Tabelle überprüft. Allerdings muss der Inhalt des Dokuments dazu schon als Text (VARCHAR2 oder CLOB) vorliegen, dem [[https://docs.oracle.com/database/121/CCAPP/GUID-E330ED1C-CEEF-4433-B0A2-7ACB39763053.htm#CCAPP9143|"Match"]] Operator des CTXRULE Index wird dieser Text übergeben und über ein Regelwerk auf Basis der Regeln in einer Tabelle überprüft.
Zeile 40: Zeile 41:
 ---- ----
  
-=== Beispiel ===+==== CTXRULE Index Anlegen ====
  
 Regel Tabelle anlegen: Regel Tabelle anlegen:
Zeile 54: Zeile 55:
  
  
-Regeln in der Tabelle hinterlegen, mit SQL oder [[https://docs.oracle.com/database/121/CCREF/cclspkg.htm#CCREF2097|CTX_CLS.TRAIN]] (dafür können die folgenden Operatoren verwandt werden: ABOUT, AND, EQUIVALENCE, NEAR, NOT, OR, PHRASE, STEM, WITHIN )+Regeln in der Tabelle hinterlegen, dafür können die folgenden Operatoren verwandt werden: ABOUT, AND, EQUIVALENCE, NEAR, NOT, OR, PHRASE, STEM, WITHIN 
 + 
 +Beispiel:
 <code sql> <code sql>
 INSERT INTO DOCUMENT_RULES VALUES(1, 'Big data'   , 'nosql and database'); INSERT INTO DOCUMENT_RULES VALUES(1, 'Big data'   , 'nosql and database');
Zeile 61: Zeile 64:
 commit; commit;
 </code> </code>
 +
 +Alternativ kann auch über bestehende, bereits qualifizierte Dokumente mit [[https://docs.oracle.com/database/121/CCREF/cclspkg.htm#CCREF2097|CTX_CLS.TRAIN]] ein Regelwerk aufgebaut werden.
  
  
Zeile 70: Zeile 75:
 </code> </code>
  
- +Mit dem Match Operator einen Text abfragen und die entsprechende Regel erkennen:
-Ein erstes Beispiel etwas Text:+
 <code sql> <code sql>
 select category select category
Zeile 83: Zeile 87:
  
 </code> </code>
- 
  
  
 ---- ----
  
-=== Dokumente damit klassifizieren ===+====Dokumente damit klassifizieren====
  
 Wie gesagt können nur Dokumente überprüft werden die auch als Text im Format VARCHAR2 oder CLOB vorliegen. Wie gesagt können nur Dokumente überprüft werden die auch als Text im Format VARCHAR2 oder CLOB vorliegen.
Zeile 116: Zeile 119:
 </code> </code>
  
-Über die in der Regel Tabelle document_rules hinterlegten Abfragen werden die Dokumente dann klassifiziert.+Über die in der Regel Tabelle document_rules“ hinterlegten Abfragen werden die Dokumente dann klassifiziert.
  
 +=== BFILE Dokumente für die Verarbeitung vorbereiten===
  
 Hier ein Beispiel für das Auslesen BFILES als BLOB und wandeln mit Oracle Text nach CLOB, erst dann kann die entsprechende Klassifizierung erfolgen: Hier ein Beispiel für das Auslesen BFILES als BLOB und wandeln mit Oracle Text nach CLOB, erst dann kann die entsprechende Klassifizierung erfolgen:
Zeile 212: Zeile 216:
   * https://docs.oracle.com/database/121/CCAPP/GUID-13DDFE35-13E6-4885-B175-EA4A7207A540.htm   * https://docs.oracle.com/database/121/CCAPP/GUID-13DDFE35-13E6-4885-B175-EA4A7207A540.htm
   * http://stackoverflow.com/questions/12263816/function-in-pl-sql-for-reading-bfile-into-blob-dont-show-the-result   * http://stackoverflow.com/questions/12263816/function-in-pl-sql-for-reading-bfile-into-blob-dont-show-the-result
 +
prod/oracle_text_ctxrule_index.txt · Zuletzt geändert: 2016/02/20 16:14 von gpipperr