Uso de la búsqueda de JSON en documentos de Object Storage
Puede crear un índice de búsqueda JSON en documentos que residan en archivos almacenados en Object Storage, lo que le permite buscar campos en los documentos JSON mediante JSON_TEXTCONTAINS
, por ejemplo, buscando con comodines.
- Uso de la búsqueda de JSON en documentos de Object Storage
Puede crear un índice de búsqueda de JSON en documentos de archivos almacenados en Object Storage. Un índice de búsqueda JSON está diseñado específicamente para documentos JSON y le permite realizar búsquedas regulares y de texto completo en los documentos o fragmentos de los documentos medianteJSON_TEXTCONTAINS
. - Creación de un índice de búsqueda de JSON en documentos JSON en archivos
UtiliceDBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
para crear un índice de búsqueda de JSON en los archivos JSON almacenados en Object Storage. - Borre un índice de búsqueda JSON
Utilice el procedimientoDBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
para borrar un índice de búsqueda JSON en los archivos JSON almacenados en Object Storage. - Supervisión de la creación del índice de búsqueda JSON
Al ejecutarDBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
, la operación de creación del índice de búsqueda JSON se registra en la vistaALL_SCHEDULER_JOB_RUN_DETAILS
. - Tabla de referencia de índice de búsqueda JSON
Se crea una tabla local en la base de datos con el sufijo estándarINDEX_NAME$TXTIDX
. Esta tabla se crea internamente al ejecutarDBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
. - Vista de referencia de índice de búsqueda JSON
Se crea una vista con el nombreINDEX_NAME
al ejecutarDBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
para crear un índice JSON. - Tabla de log de errores
Al crear un índice de búsqueda JSON en los archivos JSON almacenados en Object Storage, se crea una tabla de log de erroresindex_name$txtidx_err
.
Tema principal: Consultas de búsqueda de texto completo
Uso de la búsqueda de JSON en documentos de Object Storage
JSON_TEXTCONTAINS
.
Consulte Condición JSON_TEXTCONTAINS para obtener más información.
Utilice DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
para crear un índice de búsqueda JSON en archivos de Object Storage. Puede configurar un ratio de refrescamiento que indique la frecuencia en minutos con la que se refresca el índice para las nuevas cargas o supresiones. Consulte Creación de un índice de búsqueda JSON en documentos JSON en archivos para obtener más información.
Los siguientes objetos se crean al crear un índice de búsqueda JSON:
-
Índice de búsqueda JSON
index_name
en los archivos JSON de Object Storage. -
Tabla local
INDEX_NAME$TXTIDX
. Esta tabla es la tabla de asignación entre los documentos de los archivos de Object Storage y el índice de búsqueda JSON que se crea en la base de datos. Consulte Tabla de referencia de índice de búsqueda JSON para obtener más información. -
Vista con el nombre estándar
INDEX_NAME
. Puede utilizar la vista para realizar una búsqueda medianteJSON_TEXTCONTAINS
. Esta vista se crea sobre la tablaINDEX_NAME$TXTIDX
. Consulte Vista de referencia de índice de búsqueda JSON para obtener más información. -
Tabla de log de errores con el sufijo estándar
index_name$txtidx_err
. Consulte Tabla de logs de errores para obtener más información.
La operación de creación del índice de búsqueda JSON se registra en la vista ALL_SCHEDULER_JOB_RUN_DETAILS
. Consulte Supervisión de Creación de Índices de Texto para obtener más información.
Autonomous Database soporta la creación de índices de búsqueda JSON para una serie de archivos de texto que contienen documentos JSON. Por ejemplo, puede indexar archivos JSON en formato comprimido y descomprimido, o seleccionar un delimitador de documento JSON diferente. Consulte DBMS_CLOUD Package para obtener más información sobre las opciones de manejo de archivos.
Consulte Indexación con Oracle Text para obtener más información.
Tema principal: Uso de la búsqueda de JSON en documentos de Object Storage
Creación de un índice de búsqueda JSON en documentos JSON en archivos
Utilice DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
para crear un índice de búsqueda JSON en los archivos JSON almacenados en Object Storage.
Consulte Indexación con Oracle Text para obtener más información sobre las palabras de parada de Oracle Text.
Tema principal: Uso de la búsqueda de JSON en documentos de Object Storage
Borrar un índice de búsqueda JSON
Utilice el procedimiento DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
para borrar un índice de búsqueda JSON en los archivos JSON almacenados en Object Storage.
Por ejemplo:
BEGIN
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
(
index_name => 'VCNLOGS',
);
END;
/
En este ejemplo se borra el índice de búsqueda JSON VCNLOGS
.
Consulte el procedimiento DROP_EXTERNAL_TEXT_INDEX para obtener más información.
Tema principal: Uso de la búsqueda de JSON en documentos de Object Storage
Supervisar creación de índice de búsqueda JSON
Al ejecutar DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
, la operación de creación del índice de búsqueda JSON se registra en la vista ALL_SCHEDULER_JOB_RUN_DETAILS
.
Puede consultar la vista ALL_SCHEDULER_JOB_RUN_DETAILS
para obtener el estado y cualquier error informado por el trabajo de creación de índices.
El nombre del trabajo DBMS_SCHEDULER
se deriva del parámetro INDEX_NAME
especificado al llamar a DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
.
Para consultar la vista ALL_SCHEDULER_JOB_RUN_DETAILS
, debe estar conectado como usuario ADMIN
o tener el privilegio READ
en la vista ALL_SCHEDULER_JOB_RUN_DETAILS
.
Por ejemplo, la siguiente sentencia SELECT
con una cláusula WHERE
en job_name
muestra los detalles de ejecución del trabajo:
SELECT status, additional_info
FROM all_scheduler_job_run_details WHERE LOWER(job_name) = LOWER('index_name$JOB');
También puede consultar la existencia de un trabajo del programador de creación de índices.
SELECT status
FROM all_scheduler_jobs where LOWER(job_name) = LOWER('index_name$JOB');
Consulte el procedimiento CREATE_EXTERNAL_TEXT_INDEX para obtener más información.
Tema principal: Uso de la búsqueda de JSON en documentos de Object Storage
Tabla de referencia de índice de búsqueda JSON
Se crea una tabla local en la base de datos con el sufijo estándar INDEX_NAME$TXTIDX
. Esta tabla se crea internamente al ejecutar DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
.
Puede consultar la tabla INDEX_NAME$TXTIDX
para buscar una cadena mediante la palabra clave JSON_TEXTCONTAINS
. Por ejemplo, al llamar al procedimiento DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
el valor INDEX_NAME
como VNCLOGS
, se crea la tabla de referencia de índice de búsqueda JSON VNCLOGS$TXTIDX
.
-
object_name
: es el nombre de archivo de Object Storage que contiene la cadena de texto buscada. -
object_path
: es el URI de carpeta o cubo de Object Storage que contiene el archivo de almacenamiento de objetos. -
length
: es la longitud del documento JSON. -
offset
: es el desplazamiento de bytes del inicio del archivo. -
mtime
: es el último registro de hora modificado del archivo de almacenamiento de objetos. Esta es la hora a la queDBMS_CLOUD
accedió por última vez al archivo.
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;
Esta consulta proporciona información interna sobre dónde se encuentran los documentos relevantes en los archivos de Object Storage. La consulta no proporciona los documentos reales.
Para recuperar los documentos directamente, utilice la siguiente consulta:
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;
Tema principal: Uso de la búsqueda de JSON en documentos de Object Storage
Vista de referencia de índice de búsqueda JSON
Se crea una vista con el nombre INDEX_NAME
al ejecutar DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
para crear un índice JSON.
La vista en sí no contiene datos. Los datos se recuperan en la vista al consultar la vista INDEX_NAME
mediante la condición SQL JSON_TEXTCONTAINS
.
Columna | Descripción |
---|---|
OBJECT_NAME |
Nombre de archivo de Object Storage que contiene la cadena de texto buscada. |
OBJECT_PATH |
El URI de carpeta o cubo de Object Storage que contiene el archivo de almacenamiento de objetos. |
LENGTH |
Longitud del documento JSON. |
OFFSET |
Desplazamiento de bytes del inicio del archivo. |
DATA |
El contenido del archivo de Object Storage. |
FILE_LINE_JSON |
Columna en la que se realiza |
MTIME |
Registro de hora de la última modificación del archivo de almacenamiento de objetos. Esta es la hora a la que |
Tema principal: Uso de la búsqueda de JSON en documentos de Object Storage
Tabla de logs de errores
index_name$txtidx_err
al crear un índice de búsqueda JSON en los archivos JSON almacenados en Object Storage.
La tabla contiene una lista de los documentos JSON no válidos de los archivos. Un documento JSON se marca como no válido si la longitud del archivo de origen indexado supera el valor por defecto o el valor especificado. El valor por defecto es 32767
bytes y el valor máximo que puede especificar mediante la opción json_index_doc_len
format
es 200000
bytes. Consulte Creación de un índice de búsqueda JSON en documentos JSON en archivos para obtener más información.
Puede consultar index_name$txtidx_err
para obtener la lista de archivos JSON no válidos notificados durante la creación del índice.
Columna | Descripción |
---|---|
OBJECT_NAME |
Nombre de archivo de Object Storage que contiene la cadena de texto buscada. |
OBJECT_PATH |
El URI de carpeta o cubo de Object Storage que contiene el archivo de almacenamiento de objetos. |
OFFSET |
Desplazamiento de bytes del inicio de la línea. |
LENGTH |
Longitud del documento JSON. |
LINE_NUMBER |
Número de línea en el archivo del almacén de objetos. |
Tema principal: Uso de la búsqueda de JSON en documentos de Object Storage