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. Auf diese Weise können Sie den Text durchsuchen und Platzhalter für die Suche verwenden.
- 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 ausführen. - Textindex für Object Storage-Dateien erstellen
Verwenden SieDBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
, um einen Textindex für Dateien im Objektspeicher zu erstellen. - Index für Cloud-Speicherdateien löschen
Mit der ProzedurDBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
können Sie einen Textindex für Objektspeicherdateien löschen. - Textindexreferenztabelle
In der 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 im Objektspeicher vorhandene Dateien erstellen, kopieren, herunterladen, löschen und durchlaufen. Wenn Sie externe Tabellen definieren, können Sie SQL-Abfragen für Daten ausführen, die im Objektspeicher gespeichert sind (oder mit hybriden partitionierten externen Tabellen, über Daten in der Datenbank und im Objektspeicher hinweg). Wenn Sie mit DBMS_CLOUD
einen Textindex definieren, können Sie Ihre Daten nach Text durchsuchen und Platzhalter verwenden.
Die Autonomous Database-Unterstützung für die 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 für den 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 Oracle Text-Stoppwörtern 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
Referenztabelle für Textindex
Eine lokale Tabelle wird in der Datenbank 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
EMP
aufrufen, wird die Textreferenztabelle EMP$TXTIDX
erstellt.
-
object_name
: Der Dateiname im Objektspeicher, der die gesuchte Textzeichenfolge enthält. -
object_path
: ist der Objektspeicher-Bucket oder die Ordner-URI, der die Objektspeicherdatei enthält. -
mtime
: Der Zeitstempel der letzten Änderung der Objektspeicherdatei. Dies ist der Zeitpunkt, zu demDBMS_CLOUD
zuletzt auf die Datei zugegriffen hat.
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 Zeitstempel der letzten Änderung der Objektdateien zurück, für die 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 Indexerstellungsjob 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 View ALL_SCHEDULER_JOB_RUN_DETAILS
abzufragen, müssen Sie als Benutzer ADMIN
angemeldet sein oder die Berechtigung READ
für die View ALL_SCHEDULER_JOB_RUN_DETAILS
besitzen.
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 nach einem Scheduler-Job für die Indexerstellung abfragen.
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