Volltextsuche für Dateien in Object Storage verwenden
Mit dem PL/SQL-Package DBMS_CLOUD können Sie einen Textindex für die Objektspeicherdateien erstellen, mit dem Sie den Text durchsuchen und Platzhalter mit Ihrer Suche verwenden können.
- Informationen zur Volltextsuche für Dateien in Object Storage
Sie können einen Textindex für Dateien im Objektspeicher erstellen. Mit einem Textindex können Sie eine wortbasierte Suche über sehr große Datasets im Objektspeicher durchführen. - Textindex für Objektspeicherdateien erstellen
Verwenden SieDBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
, um einen Textindex für Dateien im Objektspeicher zu erstellen. - Index in den Cloud-Speicherdateien löschen
Mit der ProzedurDBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
können Sie einen Textindex für Objektspeicherdateien löschen. - Referenztabelle für Textindex
In Ihrer Datenbank wird eine lokale Tabelle mit dem StandardsuffixINDEX_NAME$TXTIDX
erstellt. Diese Tabelle wird intern erstellt, wenn SieDBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
ausführen. - Textindexerstellung überwachen
Wenn SieDBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
ausführen, wird der Textindexerstellungsvorgang in der AnsichtALL_SCHEDULER_JOB_RUN_DETAILS
protokolliert.
Übergeordnetes Thema: Volltextsuchabfragen
Informationen zur Volltextsuche für Dateien in Object Storage
DBMS_CLOUD
bietet schnelle und effiziente Möglichkeiten zur Verwaltung von Daten im Objektspeicher. Mit den DBMS_CLOUD
-APIs können Sie Dateien im Objektspeicher erstellen, kopieren, herunterladen, löschen und durchlaufen. Wenn Sie externe Tabellen definieren, können Sie SQL-Abfragen für Daten ausführen, die in Ihrem Objektspeicher (oder mit hybriden partitionierten externen Tabellen, über Daten in Ihrer Datenbank und im Objektspeicher) gespeichert sind. Wenn Sie DBMS_CLOUD
verwenden, um einen Textindex zu definieren, können Sie Ihre Daten nach Text durchsuchen und Platzhalter verwenden.
Die Autonomous Database-Unterstützung für wortbasierte Suche funktioniert für häufig verwendete Datenformate, z. B. CSV oder JSON und mit formatierten Dokumenten (binär), z. B. PDF- und DOC-(MS Word-)Formaten. Sie können eine Aktualisierungsrate konfigurieren, die angibt, wie oft der Index für neue Uploads oder Löschvorgänge in Minuten aktualisiert wird.
Eine lokale Tabelle mit dem Standardsuffix INDEX_NAME$TXTIDX
wird erstellt, wenn Sie einen Index im Objektspeicher erstellen. Mit der Tabelle können Sie eine Suche mit dem Schlüsselwort CONTAINS
ausführen.
Weitere Informationen finden Sie unter Mit Oracle Text indexieren.
Übergeordnetes Thema: Volltextsuche für Dateien in Object Storage verwenden
Textindex für Object Storage-Dateien erstellen
Verwenden Sie DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
, um einen Textindex für Dateien im Objektspeicher zu erstellen.
Formatierte Dokumente (binär) werden unterstützt, wenn Sie die Option binary_files
format
mit DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
angeben.
Sie können eine Stoppwortliste aufnehmen, wenn Sie die Option stop_words
format
mit DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
angeben.
Weitere Informationen zu Stoppwörtern in Oracle Text und zum Arbeiten mit Binärdateien finden Sie unter Mit Oracle Text indexieren.
Übergeordnetes Thema: Volltextsuche für Dateien in Object Storage verwenden
Index in den Cloud-Speicherdateien löschen
Verwenden Sie die Prozedur DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
, um einen Textindex für Objektspeicherdateien zu löschen.
Führen Sie die Prozedur DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
aus, um einen Textindex für Dateien im Objektspeicher zu löschen.
BEGIN
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
(
index_name => 'EMP',
);
END;
/
In diesem Beispiel wird der Textindex EMP
gelöscht.
Weitere Informationen finden Sie unter Prozedur DROP_EXTERNAL_TEXT_INDEX.
Übergeordnetes Thema: Volltextsuche für Dateien in Object Storage verwenden
Textindexreferenztabelle
In Ihrer Datenbank wird eine lokale Tabelle mit dem Standardsuffix INDEX_NAME$TXTIDX
erstellt. Diese Tabelle wird intern erstellt, wenn Sie DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
ausführen.
Sie können die Tabelle INDEX_NAME$TXTIDX
abfragen, um mit dem Schlüsselwort CONTAINS
nach einer Zeichenfolge zu suchen. Beispiel: Wenn Sie die Prozedur DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
als Wert INDEX_NAME
als EMP
aufrufen, wird die Textreferenztabelle EMP$TXTIDX
erstellt.
-
object_name
: ist der Dateiname im Objektspeicher, der die gesuchte Textzeichenfolge enthält. -
object_path
: ist der Objektspeicher-Bucket oder der Ordner-URI, der die Objektspeicherdatei enthält. -
mtime
: ist der letzte geänderte Zeitstempel der Objektspeicherdatei. Dies ist die Zeit, zu der zuletzt vonDBMS_CLOUD
auf die Datei zugegriffen wurde.
SELECT object_path, object_name FROM EMP$TXTIDX WHERE CONTAINS(OBJECT_NAME, 'king') > 0;
OBJECT_PATH OBJECT_NAME
------------------------------------------------------------------------------------------ ------------------------------------
https://objectstorage.us-phoenix-1.oraclecloud.com/n/example1/b/adbs_data_share/o/ts_data/ data_2_20221026T195313585601Z.json
Diese Abfrage gibt die Dateinamen und den Speicherort-URI im Objektspeicher zurück, der die Textzeichenfolge king
in Groß- oder Kleinschreibung enthält.
SELECT object_name, mtime FROM EMP$TXTIDX;
OBJECT_NAME MTIME
----------------------------- -------------------------------------
data_1_20220531T165402Z.json 31-MAY-22 04.54.02.979000 PM +00:00
data_1_20220531T165427Z.json 31-MAY-22 04.54.27.997000 PM +00:00
Diese Abfrage gibt den Dateinamen und den letzten geänderten Zeitstempel der Objektdateien zurück, in denen der Index EMP
erstellt wird.
Übergeordnetes Thema: Volltextsuche für Dateien in Object Storage verwenden
Textindexerstellung überwachen
Wenn Sie DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
ausführen, wird der Textindexerstellungsvorgang in der Ansicht ALL_SCHEDULER_JOB_RUN_DETAILS
protokolliert.
Sie können die View ALL_SCHEDULER_JOB_RUN_DETAILS
abfragen, um den Status und alle vom Job zur Indexerstellung gemeldeten Fehler abzurufen.
Der Name des Jobs DBMS_SCHEDULER
wird vom Parameter INDEX_NAME
abgeleitet, der beim Aufruf von DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
angegeben wird.
Um die Ansicht ALL_SCHEDULER_JOB_RUN_DETAILS
abzufragen, müssen Sie als Benutzer ADMIN
angemeldet sein oder über die Berechtigung READ
für die Ansicht ALL_SCHEDULER_JOB_RUN_DETAILS
verfügen.
Beispiel: Die folgende SELECT
-Anweisung mit einer WHERE
-Klausel in job_name
zeigt die Ausführungsdetails für den Job an:
SELECT status, additional_info
FROM all_scheduler_job_run_details WHERE LOWER(job_name) = LOWER('index_name$JOB');
Sie können auch abfragen, ob ein Scheduler-Job für die Indexerstellung vorhanden ist.
SELECT status
FROM all_scheduler_jobs where LOWER(job_name) = LOWER('index_name$JOB');
Weitere Informationen finden Sie unter Prozedur CREATE_EXTERNAL_TEXT_INDEX.
Übergeordnetes Thema: Volltextsuche für Dateien in Object Storage verwenden