JSON-Suche für Dokumente in Object Storage verwenden
Sie können einen JSON-Suchindex für Dokumente erstellen, die in Dateien gespeichert sind, die in Object Storage gespeichert sind. Dadurch können Sie Felder in Ihren JSON-Dokumenten mit JSON_TEXTCONTAINS
durchsuchen, z.B. mit Platzhaltern.
- JSON-Suche für Dokumente in Object Storage verwenden
Sie können einen JSON-Suchindex für Dokumente in Dateien erstellen, die in Object Storage gespeichert sind. Ein JSON-Suchindex wurde speziell für JSON-Dokumente entwickelt und ermöglicht es Ihnen, Ihre Dokumente oder Fragmente Ihrer Dokumente mitJSON_TEXTCONTAINS
regelmäßig sowie Volltextsuche durchzuführen. - JSON-Suchindex für JSON-Dokumente in Dateien erstellen
Verwenden SieDBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
, um einen JSON-Suchindex für die in Object Storage gespeicherten JSON-Dateien zu erstellen. - JSON-Suchindex löschen
Mit der ProzedurDBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
können Sie einen JSON-Suchindex für die in Object Storage gespeicherten JSON-Dateien löschen. - JSON-Suchindexerstellung überwachen
Wenn SieDBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
ausführen, wird der JSON-Suchindexerstellungsvorgang in der AnsichtALL_SCHEDULER_JOB_RUN_DETAILS
protokolliert. - Referenztabelle für JSON-Suchindex
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. - Referenzansicht für JSON-Suchindex
Eine Ansicht mit dem NamenINDEX_NAME
wird erstellt, wenn SieDBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
ausführen, um einen JSON-Index zu erstellen. - Fehlerlogtabelle
Eine Fehlerlogtabelleindex_name$txtidx_err
wird erstellt, wenn Sie einen JSON-Suchindex für die in Object Storage gespeicherten JSON-Dateien erstellen.
Übergeordnetes Thema: Volltextsuchabfragen
JSON-Suche für Dokumente in Object Storage verwenden
JSON_TEXTCONTAINS
regelmäßig sowie Volltextsuche durchzuführen.
Weitere Informationen finden Sie unter JSON_TEXTCONTAINS Bedingung.
Mit DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
erstellen Sie einen JSON-Suchindex für Dateien in Object Storage. Sie können eine Aktualisierungsrate konfigurieren, die angibt, wie oft der Index für neue Uploads oder Löschvorgänge in Minuten aktualisiert wird. Weitere Informationen finden Sie unter JSON-Suchindex für JSON-Dokumente in Dateien erstellen.
Die folgenden Objekte werden beim Erstellen eines JSON-Suchindex erstellt:
-
Ein JSON-Suchindex
index_name
in den Object Storage-JSON-Dateien. -
Eine lokale Tabelle
INDEX_NAME$TXTIDX
. Diese Tabelle ist die Zuordnungstabelle zwischen Ihren Dokumenten in den Dateien in Object Storage und dem JSON-Suchindex, der in der Datenbank erstellt wird. Weitere Informationen finden Sie unter Referenztabelle für JSON-Suchindex. -
Eine Ansicht mit dem Standardnamen
INDEX_NAME
. Sie können die Ansicht verwenden, um eine Suche mitJSON_TEXTCONTAINS
auszuführen. Diese Ansicht wird über der TabelleINDEX_NAME$TXTIDX
erstellt. Weitere Informationen finden Sie unter Referenzansicht für JSON-Suchindex. -
Eine Fehlerlogtabelle mit dem Standardsuffix
index_name$txtidx_err
. Weitere Informationen finden Sie unter Fehlerlogtabelle.
Der Vorgang zum Erstellen des JSON-Suchindex wird in der Ansicht ALL_SCHEDULER_JOB_RUN_DETAILS
protokolliert. Weitere Informationen finden Sie unter Textindexerstellung überwachen.
Autonomous Database unterstützt die Erstellung von JSON-Suchindizes für eine Vielzahl von Textdateien, die JSON-Dokumente enthalten. Beispiel: Sie können JSON-Dateien sowohl im komprimierten als auch im unkomprimierten Format indizieren oder ein anderes JSON-Dokumenttrennzeichen auswählen. Weitere Informationen zu den Optionen für die Dateiverarbeitung finden Sie unter DBMS_CLOUD Package.
Weitere Informationen finden Sie unter Mit Oracle Text indexieren.
Übergeordnetes Thema: JSON-Suche für Dokumente in Object Storage verwenden
JSON-Suchindex für JSON-Dokumente in Dateien erstellen
Verwenden Sie DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
, um einen JSON-Suchindex für die in Object Storage gespeicherten JSON-Dateien zu erstellen.
Weitere Informationen zu Stoppwörtern in Oracle Text finden Sie unter Mit Oracle Text indexieren.
Übergeordnetes Thema: JSON-Suche für Dokumente in Object Storage verwenden
JSON-Suchindex löschen
Verwenden Sie die Prozedur DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
, um einen JSON-Suchindex für die in Object Storage gespeicherten JSON-Dateien zu löschen.
Beispiel:
BEGIN
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
(
index_name => 'VCNLOGS',
);
END;
/
In diesem Beispiel wird der JSON-Suchindex VCNLOGS
gelöscht.
Weitere Informationen finden Sie unter Prozedur DROP_EXTERNAL_TEXT_INDEX.
Übergeordnetes Thema: JSON-Suche für Dokumente in Object Storage verwenden
JSON-Suchindexerstellung überwachen
Wenn Sie DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
ausführen, wird der Vorgang zum Erstellen des JSON-Suchindex 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: JSON-Suche für Dokumente in Object Storage verwenden
Referenztabelle für JSON-Suchindex
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 JSON_TEXTCONTAINS
nach einer Zeichenfolge zu suchen. Beispiel: Wenn Sie die DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
-Prozedur als INDEX_NAME
-Wert als VNCLOGS
aufrufen, wird die JSON-Suchindexreferenztabelle VNCLOGS$TXTIDX
erstellt.
-
object_name
: ist der Dateiname im Object Storage, der die gesuchte Textzeichenfolge enthält. -
object_path
: ist der Objektspeicher-Bucket oder die Ordner-URI, der/die die Objektspeicherdatei enthält. -
length
: ist die Länge des JSON-Dokuments. -
offset
: ist der Byte-Offset am Anfang der Datei. -
mtime
: ist der letzte geänderte Zeitstempel der Objektspeicherdatei. Dies ist die Zeit, zu der zuletzt vonDBMS_CLOUD
auf die Datei zugegriffen wurde.
SELECT * FROM (SELECT object_name, object_path, length, offset
FROM vnclogs$txtidx
WHERE JSON_TEXTCONTAINS (file_line_json, '$.tuples', '{XXX.XXX.0.1.10.10.10.10.null.XXX_345}')
ORDER BY mtime DESC)
WHERE rownum < 3;
Diese Abfrage enthält interne Informationen darüber, wo sich in Ihren Dateien in Object Storage die relevanten Dokumente befinden. Die Abfrage enthält keine tatsächlichen Dokumente.
Um die Dokumente direkt abzurufen, verwenden Sie die folgende Abfrage:
SELECT * FROM (SELECT object_name, object_path, data
FROM vnclogs
WHERE JSON_TEXTCONTAINS (file_line_json, '$.tuples', '{XXX.XXX.0.1.10.10.10.10.null.XXX_345}')
ORDER BY mtime DESC)
WHERE rownum < 3;
Übergeordnetes Thema: JSON-Suche für Dokumente in Object Storage verwenden
Referenzansicht für JSON-Suchindex
Eine Ansicht mit dem Namen INDEX_NAME
wird erstellt, wenn Sie DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
ausführen, um einen JSON-Index zu erstellen.
Die Ansicht selbst enthält keine Daten. Die Daten werden in der View abgerufen, wenn Sie die View INDEX_NAME
mit der SQL-Bedingung JSON_TEXTCONTAINS
abfragen.
Spalte | Beschreibung |
---|---|
OBJECT_NAME |
Der Dateiname im Object Storage, der die gesuchte Textzeichenfolge enthält. |
OBJECT_PATH |
Der Objektspeicher-Bucket oder die Ordner-URI, der/die die Objektspeicherdatei enthält. |
LENGTH |
Die Länge des JSON-Dokuments. |
OFFSET |
Der Byte-Offset am Anfang der Datei. |
DATA |
Der Inhalt der Object Storage-Datei. |
FILE_LINE_JSON |
Die Spalte, auf der die |
MTIME |
Der zuletzt geänderte Zeitstempel der Objektspeicherdatei. Dies ist die Zeit, zu der zuletzt von |
Übergeordnetes Thema: JSON-Suche für Dokumente in Object Storage verwenden
Fehlerlogtabelle
index_name$txtidx_err
wird erstellt, wenn Sie einen JSON-Suchindex für die in Object Storage gespeicherten JSON-Dateien erstellen.
Die Tabelle enthält eine Liste der ungültigen JSON-Dokumente in Ihren Dateien. Ein JSON-Dokument ist als ungültig markiert, wenn die Länge der indexierten Quelldatei den Standardwert oder den angegebenen Wert überschreitet. Der Standardwert ist 32767
Byte, und der Höchstwert, den Sie mit der Option json_index_doc_len
format
angeben können, ist 200000
Byte. Weitere Informationen finden Sie unter JSON-Suchindex für JSON-Dokumente in Dateien erstellen.
Sie können die index_name$txtidx_err
abfragen, um die Liste der ungültigen JSON-Dateien abzurufen, die während der Indexerstellung gemeldet wurden.
Spalte | Beschreibung |
---|---|
OBJECT_NAME |
Der Dateiname im Object Storage, der die gesuchte Textzeichenfolge enthält. |
OBJECT_PATH |
Der Objektspeicher-Bucket oder die Ordner-URI, der/die die Objektspeicherdatei enthält. |
OFFSET |
Byte-Offset am Zeilenanfang. |
LENGTH |
Länge des JSON-Dokuments. |
LINE_NUMBER |
Zeilennummer in der Datei im Objektspeicher. |
Übergeordnetes Thema: JSON-Suche für Dokumente in Object Storage verwenden