searchAnalytics

buildTermIndex

Descripción

La acción `buildTermIndex` se utiliza para crear una tabla de índice de términos a partir de una tabla de entrada que contiene términos significativos. Esta acción es fundamental en el análisis de búsqueda para preprocesar y estructurar datos textuales, permitiendo un recuento eficiente de la frecuencia de los términos en diferentes campos. Es un paso preparatorio para acciones como `buildAutoComplete` o `searchJoin`.

searchAnalytics.buildTermIndex / casOut={caslib="string", compress=TRUE|FALSE, indexVars={"variable-name-1" <, "variable-name-2", ...>}, label="string", lifetime=64-bit-integer, maxMemSize=64-bit-integer, memoryFormat="DVR"|"INHERIT"|"STANDARD", name="table-name", promote=TRUE|FALSE, replace=TRUE|FALSE, replication=integer, tableRedistUpPolicy="DEFER"|"NOREDIST"|"REBALANCE", threadBlockSize=64-bit-integer, timeStamp="string", where={"string-1" <, "string-2", ...>}}, fields={"string-1" <, "string-2", ...>}, language="ARABIC"|"CHINESE"|"CROATIAN"|"CZECH"|"DANISH"|"DUTCH"|"ENGLISH"|"FARSI"|"FINNISH"|"FRENCH"|"GERMAN"|"GREEK"|"HEBREW"|"HINDI"|"HUNGARIAN"|"INDONESIAN"|"ITALIAN"|"JAPANESE"|"KAZAKH"|"KOREAN"|"NORWEGIAN"|"POLISH"|"PORTUGUESE"|"ROMANIAN"|"RUSSIAN"|"SLOVAK"|"SLOVENE"|"SPANISH"|"SWEDISH"|"TAGALOG"|"THAI"|"TURKISH"|"UNIVERSAL"|"VIETNAMESE", table={caslib="string", computedOnDemand=TRUE|FALSE, computedVars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>}, groupBy={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, groupByMode="NOSORT"|"REDISTRIBUTE", importOptions={fileType="ANY"|"AUDIO"|"AUTO"|"BASESAS"|"CSV"|"DELIMITED"|"DOCUMENT"|"DTA"|"ESP"|"EXCEL"|"FMT"|"HDAT"|"IMAGE"|"JMP"|"LASR"|"PARQUET"|"SOUND"|"SPSS"|"VIDEO"|"XLS", fileType-specific-parameters}, name="table-name", orderBy={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, singlePass=TRUE|FALSE, vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, where="where-expression", whereTable={casLib="string", dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | greenplum-parameters | hadoop-parameters | hana-parameters | hdfs-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | netezza-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}, importOptions={fileType="ANY"|"AUDIO"|"AUTO"|"BASESAS"|"CSV"|"DELIMITED"|"DOCUMENT"|"DTA"|"ESP"|"EXCEL"|"FMT"|"HDAT"|"IMAGE"|"JMP"|"LASR"|"PARQUET"|"SOUND"|"SPSS"|"VIDEO"|"XLS", fileType-specific-parameters}, name="table-name", vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, where="where-expression"}}, tokenize=TRUE|FALSE;
Parámetros
ParámetroDescripción
casOutEspecifica la tabla de salida para almacenar la lista de términos generada.
fieldsEspecifica una lista de campos (columnas) en la tabla de entrada donde se debe contar la frecuencia de los términos. Es un parámetro opcional.
languageEspecifica el idioma que se utilizará para el tokenizador del campo de índice. El valor predeterminado es 'UNIVERSAL'.
tableEspecifica la tabla de índice de entrada que contiene los términos a procesar. También se puede usar el alias 'index'.
tokenizeEspecifica si el campo de índice debe ser tokenizado. Si es `TRUE`, el texto se divide en términos individuales. El valor predeterminado es `FALSE`.
Creación de Datos de Muestra

Este código crea una tabla CAS llamada 'terminos_significativos' que contiene una lista de términos y sus frecuencias, que servirá como entrada para la acción `buildTermIndex`.

¡Copiado!
1DATA casuser.terminos_significativos; LENGTH term $ 50; INFILE DATALINES delimiter=','; INPUT term $ count; DATALINES;
2sas,100
3viya,80
4cas,120
5cloud,90
6analytics,110
7; RUN;

Ejemplos

Este ejemplo toma la tabla 'terminos_significativos' y crea una tabla de índice de términos llamada 'indice_terminos_salida' utilizando la configuración predeterminada.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3searchAnalytics.buildTermIndex / TABLE={name='terminos_significativos'}, casOut={name='indice_terminos_salida', replace=true};
4 
5RUN;
6 
7QUIT;
8 
Resultado :
Una tabla CAS llamada 'indice_terminos_salida' es creada en la caslib 'casuser'. Esta tabla contiene los términos de la tabla de entrada, procesados y listos para ser utilizados en operaciones de búsqueda avanzada.

Este ejemplo más detallado utiliza una tabla de entrada con múltiples campos de texto ('titulo', 'resumen'). La acción `buildTermIndex` tokeniza el campo 'titulo' en español y cuenta la frecuencia de los términos en ambos campos, 'titulo' y 'resumen', para construir el índice de salida.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS; DATA casuser.documentos_entrada; LENGTH titulo $100 resumen $200; INFILE DATALINES delimiter='|'; INPUT titulo $ resumen $; DATALINES;
2Análisis con SAS Viya|SAS Viya ofrece potentes capacidades de análisis en la nube.
3Introducción a CAS|El Cloud Analytic Services (CAS) es el motor de SAS Viya.
4Búsqueda y Analítica|La analítica de búsqueda mejora la experiencia del usuario.
5; RUN; searchAnalytics.buildTermIndex / TABLE={name='documentos_entrada'}, fields={'titulo', 'resumen'}, tokenize=true, language='SPANISH', casOut={name='indice_terminos_completo', replace=true}; RUN; QUIT;
Resultado :
Se crea una tabla CAS llamada 'indice_terminos_completo'. El contenido del campo 'titulo' ha sido tokenizado (dividido en palabras) usando las reglas del idioma español, y las frecuencias de los términos se han calculado a partir de los campos 'titulo' y 'resumen'.

FAQ

¿Cuál es el propósito de la acción `buildTermIndex`?
¿Cuáles son los parámetros obligatorios para la acción `buildTermIndex`?
¿Qué función cumple el parámetro `language`?
¿Para qué se utiliza el parámetro `fields`?
¿Cuál es la función del parámetro `tokenize`?
¿Qué hace la acción buildTermIndex?
¿Cuál es el propósito del parámetro 'table'?
¿Qué especifica el parámetro 'casOut'?
¿Para qué sirve el parámetro 'language'?
¿Qué hace el parámetro 'tokenize'?

Escenarios asociados

Caso de uso
Indexación de Catálogo de Productos para Búsqueda Web

Una empresa de comercio electrónico necesita implementar una barra de búsqueda inteligente en su sitio web. El objetivo es indexar los nombres y descripciones de los productos p...

Caso de uso
Prueba de Rendimiento con Logs de Servidor Masivos

El equipo de operaciones de TI desea analizar patrones en los logs de sus servidores web. Necesitan generar un índice de términos sobre una gran cantidad de mensajes de error ge...

Caso de uso
Gestión de Datos Multilingües y Valores Nulos (Caso Límite)

Una plataforma de soporte al cliente global recibe comentarios en múltiples idiomas, a menudo con caracteres especiales, emojis o campos vacíos. Se requiere verificar si la acci...