我正在使用Python中的Elasticsearch,我有一个场景,我想在实际发送文档进行索引之前,根据现有索引的Map验证文档。目标是确保文档符合Map中定义的预期字段类型和约束。
例如,给定自定义索引的以下Map:
"mappings": {
"properties": {
"title": { "type": "text" },
"publish_date": { "type": "date" },
"views": { "type": "integer"}
}
}
我想验证以下文档:
{
"title": "Sample Article",
"publish_date": "2023-10-05",
"views": 1234
}
并获得反馈,例如,如果视图错误地是字符串而不是整数。
我知道我可以编写自定义验证逻辑来实现这一点,但我正在寻找一个更精简的解决方案,可能是一个库或工具,可以处理这个开箱即用。
有没有人遇到过提供此功能的Python库或工具?或者有没有一种推荐的方法来实现这一点,而不需要手动解析Map并验证每个字段?
1条答案
按热度按时间sauutmhj1#
你可能不想一边在Elasticsearch中管理索引Map,一边在Python代码中“复制/粘贴”相同的规则。从长远来看,这是注定要失败的!
您可能正在寻找类似Pydantic(intro article)的东西,它允许您直接从Python代码验证规则驱动索引Map的创建。