使用正则表达式来查找术语
定义用于捕获显着性模式的正则表达式,例如,AB10045
是用于订单编号的语法。
定义可以从集合中的字段标识和抽取信息的正则表达式。
例如,此正则表达式查找出现的特定格式和长度的信用卡卡号。
4[0-9]{15}
以下正则表达式查找出现的美国社会保险号。
(?!666|000|9\d{2})\d{3}-(?!00)\d{2}-(?!0{4})\d{4}
要添加正则表达式,请完成以下步骤:
-
从“改进工具”面板的 Teach 域概念 部分中,选择 正则表达式。
-
单击上传。
-
可选: 指定构面路径以分类与正则表达式匹配的任何文本。 该文本稍后可由此构面进行过滤。
如果使用类别层次结构,请在构面路径中的类别名称之间添加句点以表示层次结构。 例如,如果要添加可识别电话号码的正则表达式,那么可能具有诸如
international.europe
的构面路径。 -
添加正则表达式。
-
单击创建。
-
选择集合和字段以搜索与此正则表达式模式匹配的文本的出现。
在输出中,正则表达式提取的信息可以在 enriched_{field_name}
的 entities
数组中找到。
在此示例中,构面路径 为 regex.cccardnumber
,为扩充项选择的字段为 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."
]
}
从“改进和定制”页面提交测试查询时,可以添加基于 enriched_text.entities.model_name
字段的构面。 因此,您创建的 cccardnumber
正则表达式扩充项将显示为构面值,可根据该构面值过滤文档。 有关创建构面的更多信息,请参阅 添加构面。
正则表达式限制
每个服务实例可定义的正则表达式数取决于 Discovery 套餐类型。
计划 | 每个服务实例的正则表达式 |
---|---|
Cloud Pak for Data | 无限制 |
Premium | 100 |
企业 | 100 |
加号 (包括试用) | 20 |