Utilizar expresiones regulares para buscar términos
Defina expresiones regulares que capturen patrones de significación como, por ejemplo, AB10045 es la sintaxis que se utiliza para los números de pedido.
Defina expresiones regulares que puedan identificar y extraer información de los campos de la colección.
Por ejemplo, esta expresión regular busca apariciones de números de tarjeta de crédito de un formato y longitud específicos.
4[0-9]{15}
La siguiente expresión regular busca apariciones de un número de seguridad social de EE.UU.
(?!666|000|9\d{2})\d{3}-(?!00)\d{2}-(?!0{4})\d{4}
Para añadir una expresión regular, siga estos pasos:
-
En la sección Enseñar conceptos de dominio del panel Herramientas de mejora, elija Expresión regular.
-
Pulse Cargar.
-
Opcional: especifique una vía de acceso de faceta para categorizar cualquier texto que coincida con la expresión regular. El texto se puede filtrar por esta faceta más adelante.
Si utiliza una jerarquía de categorías, añada un punto entre los nombres de categoría en la vía de acceso de faceta para representar la jerarquía. Por ejemplo, si está añadiendo una expresión regular que puede reconocer números de teléfono, puede tener una vía de acceso de faceta como
international.europe. -
Añada la expresión regular.
-
Utiliza una expresión regular de Java™.
Para más información, consulte la documentación de Java. Otro recurso útil es Regex 101.
-
Mantenga la expresión regular lo más corta y comprensible posible.
-
Las mejores expresiones regulares se resuelven en una coincidencia o no coincidencia rápidamente.
-
Utilice patrones comunes. Por ejemplo, utilice
a(b|c|d)en lugar de(ab|ac|ad). -
El motor de expresiones regulares podría fallar si retrocede porque no puede hacer una coincidencia negativa hacia el final de la cadena y luego intenta demasiadas permutaciones. Para evitar retrocesos, considere la posibilidad de utilizar un cuantificador posesivo como, por ejemplo,
(a+b*)++c.
-
-
Pulse Crear.
-
Elija la colección y el campo para buscar apariciones de texto que coincidan con este patrón de expresión regular.
En el resultado, la información que se extrae mediante el enriquecimiento de expresiones regulares se puede encontrar en enriched_{field_name}, dentro de la matriz entities.
En este ejemplo, la Vía de acceso de faceta es regex.cccardnumber, y el campo seleccionado para el enriquecimiento es text.
{
"enriched_text": [
{
"entities": [
{
"path": ".regex.cccardnumber",
"type": "cccardnumber",
"text": "4000000000000000"
}
]
}
],
"text": [
"He has 2 phones, 090-1234-5678 and 080-1234-5678. His credit card number is 4000000000000000."
]
}
Cuando envía consultas de prueba desde la página Mejorar y personalizar, puede añadir una faceta basada en el campo enriched_text.entities.model_name. Como resultado, el enriquecimiento de expresión regular de cccardnumber que ha creado se visualiza como un valor de faceta por el que se pueden filtrar los documentos. Para obtener más información sobre la creación de facetas, consulte Adición de facetas.
Límites de expresión regular
El número de expresiones regulares que puede definir por instancia de servicio depende del tipo de plan Discovery.
| Planifique | Expresiones regulares por instancia de servicio |
|---|---|
| Cloud Pak for Data | Ilimitado |
| Premium | 100 |
| Empresa | 100 |
| Plus (incluye prueba) | 20 |