JSON-Suche für Dokumente in Object Storage verwenden
Sie können einen JSON-Suchindex für Dokumente erstellen, die sich in in in Object Storage gespeicherten Dateien befinden. Dadurch können Sie Felder in Ihren JSON-Dokumenten mit JSON_TEXTCONTAINS
durchsuchen, z.B. mit Platzhaltern suchen.
- 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 Ihnen die regelmäßige sowie die Volltextsuche für Ihre Dokumente oder Fragmente Ihrer Dokumente mitJSON_TEXTCONTAINS
. - 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. - Erstellung von JSON-Suchindex überwachen
Wenn SieDBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
ausführen, wird der Erstellungsvorgang für den JSON-Suchindex 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
Wenn Sie einen JSON-Suchindex für die in Object Storage gespeicherten JSON-Dateien erstellen, wird eine Fehlerlogtabelleindex_name$txtidx_err
erstellt.
Übergeordnetes Thema: Volltextsuchabfragen
JSON-Suche für Dokumente in Object Storage verwenden
JSON_TEXTCONTAINS
.
Weitere Informationen finden Sie unter JSON_TEXTCONTAINS-Bedingung.
Mit DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
können Sie einen JSON-Suchindex für Dateien in Object Storage erstellen. 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 erstellt, wenn Sie einen JSON-Suchindex erstellen:
-
Ein JSON-Suchindex
index_name
für die 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 in der Datenbank erstellten JSON-Suchindex. Weitere Informationen finden Sie unter Referenztabelle für JSON-Suchindex. -
Eine Ansicht mit dem Standardnamen
INDEX_NAME
. Mit der Ansicht können Sie eine Suche mitJSON_TEXTCONTAINS
ausführen. Diese Ansicht wird über der TabelleINDEX_NAME$TXTIDX
erstellt. Weitere Informationen finden Sie unter Referenzansicht des JSON-Suchindexes. -
Eine Fehlerlogtabelle mit dem Standardsuffix
index_name$txtidx_err
. Weitere Informationen finden Sie unter Fehlerlogtabelle.
Der JSON-Suchindexerstellungsvorgang wird in der View 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 indexieren oder ein anderes JSON-Dokumenttrennzeichen auswählen. Weitere Informationen zu den Optionen zur 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.
Beispiele:
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 Erstellungsvorgang für den JSON-Suchindex in der View 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: JSON-Suche für Dokumente in Object Storage verwenden
Referenztabelle für JSON-Suchindex
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 JSON_TEXTCONTAINS
nach einer Zeichenfolge zu suchen. Beispiel: Wenn Sie die Prozedur DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
mit dem Wert INDEX_NAME
als VNCLOGS
aufrufen, wird die Referenztabelle für den JSON-Suchindex VNCLOGS$TXTIDX
erstellt.
-
object_name
: Der Dateiname im Object Storage, der die gesuchte Textzeichenfolge enthält. -
object_path
: ist der Objektspeicher-Bucket oder die Ordner-URI, der die Objektspeicherdatei enthält. -
length
: ist die Länge des JSON-Dokuments. -
offset
: Der Byte-Offset am Anfang der Datei. -
mtime
: Der Zeitstempel der letzten Änderung der Objektspeicherdatei. Dies ist der Zeitpunkt, zu demDBMS_CLOUD
zuletzt auf die Datei zugegriffen hat.
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 die relevanten Dokumente in Ihren Dateien in Object Storage befinden. Die Abfrage liefert 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 View mit dem Namen INDEX_NAME
wird erstellt, wenn Sie DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
ausführen, um einen JSON-Index zu erstellen.
Die View 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 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, in der die |
MTIME |
Der Zeitstempel der letzten Änderung der Objektspeicherdatei. Dies ist der Zeitpunkt, zu dem |
Ü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 wird als ungültig gekennzeichnet, wenn die Länge der indexierten Quelldatei den Standardwert oder den angegebenen Wert überschreitet. Der Standardwert ist 32767
Byte, und der maximale Wert, den Sie mit der Option json_index_doc_len
format
angeben können, ist 200000
Byte. Weitere Informationen finden Sie unter JSON-Suchindex in JSON-Dokumenten in Dateien erstellen.
Sie können die index_name$txtidx_err
abfragen, um die Liste der ungültigen JSON-Dateien abzurufen, die bei 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 Objektspeicherdatei enthält. |
OFFSET |
Byte-Offset vom Anfang der Zeile. |
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