Texto de consulta en Object Storage
El paquete PL/SQL DBMS_CLOUD
permite crear un índice de texto en los archivos del almacén de objetos, lo que permite buscar el texto y utilizar comodines con la búsqueda.
- Acerca del uso de un índice de texto para consultar texto en Object Storage
Puede crear un índice de texto en archivos de Object Storage. Un índice de texto permite realizar una búsqueda basada en palabras en juegos de datos muy grandes del almacén de objetos. - Creación de un índice de texto en archivos de Object Storage
UtiliceDBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
para crear un índice de texto en archivos de Object Storage. - Borrar un índice en los archivos de almacenamiento en la nube
Utilice el procedimientoDBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
para borrar un índice de texto en los archivos de almacenamiento de objetos. - Tabla de referencia de índice de texto
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
. - Supervisión de la creación de índices de texto
Al ejecutarDBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
, la operación de creación de índices de texto se registra en la vistaALL_SCHEDULER_JOB_RUN_DETAILS
.
Tema principal: Funciones
Acerca del uso de un índice de texto para consultar texto en Object Storage
DBMS_CLOUD
proporciona formas rápidas y eficaces de gestionar datos en el almacén de objetos. Las API DBMS_CLOUD
permiten crear, copiar, descargar, suprimir y recorrer archivos presentes en el almacén de objetos. Al definir tablas externas, puede ejecutar consultas SQL en los datos almacenados en el almacén de objetos (o con tablas externas particionadas híbridas, en los datos de la base de datos y en el almacén de objetos). Al utilizar DBMS_CLOUD
para definir un índice de texto, esto permite buscar texto en los datos y utilizar comodines.
El soporte de Autonomous Database para búsquedas basadas en palabras funciona para formatos de datos de uso común, por ejemplo CSV o JSON y con documentos con formato (binario), por ejemplo, formatos PDF y DOC (MS Word). 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.
Al crear un índice en el almacenamiento de objetos, se crea una tabla local con el sufijo estándar INDEX_NAME$TXTIDX
y puede utilizar la tabla para realizar una búsqueda con la palabra clave CONTAINS
.
Consulte Indexación con Oracle Text para obtener más información.
Tema principal: Texto de consulta en Object Storage
Creación de un índice de texto en archivos de Object Storage
Utilice DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
para crear un índice de texto en archivos del almacenamiento de objetos.
Los documentos con formato (binarios) se admiten cuando se especifica la opción binary_files
format
con DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
.
Puede incluir una lista de palabras de parada al especificar la opción stop_words
format
con DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
.
Consulte Indexación con Oracle Text para obtener más información sobre las palabras de parada de Oracle Text y el trabajo con archivos binarios.
Tema principal: Texto de consulta en Object Storage
Borrado de un índice en los archivos de almacenamiento en la nube
Utilice el procedimiento DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
para borrar un índice de texto en archivos de almacenamiento de objetos.
Ejecute el procedimiento DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
para borrar un índice de texto en archivos del almacenamiento de objetos.
BEGIN
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
(
index_name => 'EMP',
);
END;
/
En este ejemplo se borra el índice de texto EMP
.
Consulte el procedimiento DROP_EXTERNAL_TEXT_INDEX para obtener más información.
Tema principal: Texto de consulta en Object Storage
Tabla de referencia de índice de texto
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 CONTAINS
. Por ejemplo, al llamar al procedimiento DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
el valor INDEX_NAME
como EMP
, se crea EMP$TXTIDX
en la tabla de referencia de texto.
-
object_name
: es el nombre de archivo del almacenamiento de objetos que contiene la cadena de texto buscada. -
object_path
: es el URI de carpeta o cubo de almacenamiento de objetos que contiene el archivo de almacenamiento de objetos. -
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 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
Esta consulta devuelve los nombres de archivo y el URI de ubicación en el almacenamiento de objetos que contiene la cadena de texto king
, en mayúsculas o minúsculas.
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
Esta consulta devuelve el nombre de archivo y el registro de hora de la última modificación de los archivos de objeto en los que se crea el índice EMP
.
Tema principal: Texto de consulta en Object Storage
Supervisar creación de índice de texto
Al ejecutar DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
, la operación de creación de índice de texto 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: Texto de consulta en Object Storage