🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP HANA La búsqueda de textos y el análisis de datos no estructurados

ABAP HANA La búsqueda de textos y el análisis de datos no estructurados

ABAP HANA La búsqueda de textos y el análisis de datos no estructurados

BÚSQUEDA DE TEXTOS Y ANÁLISIS DE DATOS NO ESTRUCTURADOS.

1) INTRODUCCION.

i) HANA ofrece función para analizar datos no estructurado.

ii) Se mejora la búsqueda en aplicaciones ABAP y obtener más info al reconocer patrones en datos existentes.

1.1) LAS AYUDAS DE BÚSQUEDA Y BÚSQUEDA DE TEXTOS.

i) Ayudas de búsqueda representan escenario para busqueda de texto en HANA.

ii) Aplicaciones tienen ayudas en distintos lugares.

iii) Los usuarios buscan una entrada en un conjunto grande. Usan habitualmente el *, no conocen detalles para realizar la búsqueda y si ingresan mal un dato no se tendrá resultado.

1.2) LAS AYUDAS DE BÚSQUEDA Y BÚSQUEDA DE TEXTOS EN HANA.

i) La función de búsqueda en HANA es similar a búsqueda en internet.

ii) Proporciona tolerancia a errores , procesar términos y sinónimos multilingües.

iii) Búsqueda difusa o Fuzzy search : No se puede determinar fácilmente si el resultado es el esperado.

1.3) RECONOCIMIENTO DE PATRONES.

i) Reconocimiento de patrones y documentos es función de análisis de texto distinto.

ii) Permite evitar duplicidad de datos maestros si ya existe uno similar.

iii) Este similar puede ser un nombre, dirección, ortografía, etc.

iv) Una comprobación de entrada idéntica rara vez es satisfactoria.

1.4) RECONOCIMIENTO DE PATRONES EN SAP HANA.

i) Función análisis de texto HANA permite buscar en textos y extraer información adicional de textos.

ii) Se puede reconocer relaciones ,intenciones o emociones dentro textos.

iii) Análisis de sentimientos es parte funcionalidad del motor de texto HANA y permite reconocer patrones con datos de tipo no estructurados.

iv) Esto permite que se consideren los comentarios positivos o negativos.

2) PRINCIPIOS BÁSICOS DE LA BÚSQUEDA DE TEXTOS EN SAP HANA.

i) El objetivo principal de la función de texto en HANA es darle a usuarios una usabilidad optimizada.

ii) Tiene características comunes con motores de búsqueda e internet.

iii) Características de búsqueda de textos SAP HANA:

- BÚSQUEDA DE ESTILO LIBRE: Usuario no necesita saber las columnas de una BD donde realiza búsqueda.

- BÚSQUEDA TOLERANTE A ERRORES (difusa o fuzzy search): Usuario puede variar ortografía ligeramente en búsqueda.

- BUSQUEDA LINGÚÍSTICA Y BUSQUEDA DE SINÓNIMOS: Se incluye variantes linguistica y sinonimos.

- SUGERENCIA DE VALOR : Al momento de escribir se van presentando valores en tiempo real.

- RANKING DE RESULTADOS : En resultado de búsqueda los valores con mayor probabilidad se presenta parte superior de la lista.

- FACETAS DE BÚSQUEDA : Resultado se cuenta y se agrupa con criterios específicos.

- ANÁLISIS DE TEXTO (de sentimiento): Extrae info adicional de textos, así obtener sobre aspectos semánticos.

2.1) BÚSQUEDA TOLERANTE A ERRORES:

i) Búsqueda difusa es por cadenas de caracteres.

ii) Estos algoritmos entregan valor si dato es similar a lo buscado.

iii) En SAP HANA la búsqueda de texto determina un valor entre 0 y 1 que indica el valor de similitud.

iv) El programador define valor de umbral, por ejemplo 0,8. Esto implica que tan igual es lo encontrado a lo buscado.

v) La búsqueda difusa se adapta a datos específicos (semántico). Por ejemplo fecha, que se indique un rango dias antes y despues. 01/01/1909 es similar a 01/01/1999.

vi) EXPRESIONES UTILIZADAS EN LAS BÚSQUEDAS:

- Se deben usar expresiones simples en búsquedas difusas.

vii) BÚSQUEDA LINGÜISTICA:

- Se pueden incluir aspectos gramaticales y otros aspectos lingüísticos.

- Permite manejo textos multilingües y solicitudes de búsqueda.

viii) LISTAS DE SINÓNIMOS:

- Se almacenan lista de términos equivalentes.

- Notebook sinónimo laptop.

ix) STOP WORDS:

- No todos los términos tienen la misma selectividad.

- Lista de palabras que se consideran menos importantes que otras palabras. Por ejemplo S.A.

3) TIPO DE DATOS DE TEXTO E ÍNDICE DE TEXTOS COMPLETO:

i) La búsqueda difusa se basa en tipo datos del almacén de columnas.

ii) TEXT y SHORTTEXT representan tipos de datos que se dedican a búsqueda y análisis de textos.

iii) SHORTTEXT : cadena caracteres longitud determinada

iv) TEXT: cadena caracteres longitud no determinada.

v) Los textos se fragmentan internamente en tokens, que es la base para búsqueda y análisis.

vi) SOPORTE EN ABAP :

- No hay soporte para tipo datos TEXT Y SHORTTEXT.

- No se pueden usar en las tablas creadas por DDIC (se11).

- La búsqueda difusa es compatible con otros tipo de dato, VARCHAR y NVARCHAR, la compatibilidad no es extensa.

vii) ÍNDICE DE TEXTO COMPLETO :

- Se puede agregar funcionalidad ofrecida por tipos de datos de texto a una columna.

- Se crea una columna índice invisible tipo TEXTO con token y se genera diccionario adicional.

1. carrid carrname internal TEXT DICCIONARIO

2. AA AMERICAN AIRLINES 3,2 1 AIR

3. AB AIR BERLIN 1,4 2 AIRLINE

4. AF AIR FRANCE 1,5 3 AMERICAN

viii) USANDO SQL PARA LA CREACIÓN :

- Para crear indice de texto completo se usa sentencia:

SQL CREATE FULLTEXT INDEX

CREATE FULLTEXT INDEX <index name>

ON <table name> ( <column name> )

[<parameters list ]

ix) CREACIÓN EN DICCIONARIO DATOS ABAP :

- Instrucción SQL define índice de texto completo: por ejemplo

CREATE FULLTEXT INDEX scarr~name ON scarr(carrname);

- Estos índices no se pueden transportar automáticamente.

- Desde versión 7.4 ABAP, se puede crear índice en diccionario de datos SE11.

- Por la SE11 se puede crear el índice. En cambios de índice, non-unique index, seleccionar For select y especificar indice.

- Por Goto->Full Text Index se activa.

- Configuración estándar y configuración de idioma es suficiente para búsqueda difusa.

4. USO DE LA BÚSQUEDA DE TEXTOS A TRAVÉS DE SQL :

i) PALABRA CLAVE CONTAINS :

- Para hacer búsqueda de texto en SELECT.

- Se debe usar la palabra CONTAINS.

- SELECT <field list> FROM <table or view> WHERE CONTAINS

( <columns>, <search request>, <parameters>);

SELECT * FROM scarr WHERE CONTAINS( carrname, 'Lata', FUZZY(0.8));

Se pone 'Lata' por similitud obtendrá 'Latam'.

ii) PARAMETRO FUZZY:

- Los valores de similitud van desde 0 a 1, con 1 exacto.

iii) BÚSQUEDA EXACTA/ BÚSQUEDA LINGUÍSTICA :

- EXACT : búsqueda exacta

SELECT * FROM scarr WHERE CONTAINS ((carrname,url), 'Airlines OR Airways OR *.com', EXACT)

4.1) BUSQUEDA DIFUSA (FUZZY SEARCH) :

SELECT * FROM spfli WHERE CONTAINS ( (cityfrom, cityto),'Tokio', FUZZY(0.8));

- En este caso se deben definir índice de texto completo para CITYFROM y CITYTO usando el diccionario de datos. SE11.

5) USO DE LA BÚSQUEDA DE TEXTOS EN ABAP :

- como desarrollador se puede definir ayuda declarativamente, especificando nombre de una tabla o vista, seleccionado campos.

- Desde ABAP 7.4 SP06 se pueden especificar parámetros.

- En creación de ayudas, en opciones avanzadas (ENHANCED OPTIONS) se puede indicar las columnas, y el valor de FUZZY.

- No se requiere crear indice de texto completo.

- Se integra en programa:

PARAMETERS: cust_id TYPE s_customer

MATCHCODE OBJECT za4h_book_f4_fuzzy.


 

 

 


Sobre el autor

Publicación académica de Sergio Mendez De La Fuente, en su ámbito de estudios para el Máster ABAP for HANA.

SAP SemiSenior

Sergio Mendez De La Fuente

Profesión: Ingeniero Informática - Chile - Legajo: EM27U

✒️Autor de: 11 Publicaciones Académicas

🎓Egresado del módulo:

Presentación:

Ingeniero informática con especialización en abap y funcional sd.

Certificación Académica de Sergio Mendez