我正在尝试使用regex
来匹配各种id
字段,例如collection_id
,因此不会对其进行分析。
一个简单的正则表达式^.*_id$
无法匹配字段。
{
"_default_": {
"dynamic_templates": [
{
"system_ids": {
"match_mapping_type": "string",
"match_pattern": "regex",
"match": "^.*_id$",
"mapping": {
"type": "keyword"
}
}
}
]
}
}
我正在 elasticsearch 5.5 上对此进行测试。
经过大量的试验和错误,事实证明您需要将正则表达式添加到捕获组。 使用^(.*_id)$
作为match
工作。我不知道为什么,但它确实如此。