如何在不使用Python索引的情况下根据ElasticsearchMap验证文档?

vbopmzt1  于 2023-10-17  发布在  ElasticSearch
关注(0)|答案(1)|浏览(130)

我正在使用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并验证每个字段?

sauutmhj

sauutmhj1#

你可能不想一边在Elasticsearch中管理索引Map,一边在Python代码中“复制/粘贴”相同的规则。从长远来看,这是注定要失败的!
您可能正在寻找类似Pydanticintro article)的东西,它允许您直接从Python代码验证规则驱动索引Map的创建。

相关问题