请考虑以下代码:
function add_document() {
index=$1
_type=$2
json="$3"
curl -s -X PUT "$NODE_ADDRESS/index/_type?pretty" -d "$json"
}
add_document users documents '{user_name : "kshitiz"}'
上面的函数运行得很好,并将文档添加到索引中。但问题是{user_name : "kshitiz"}
不是有效的JSON。
我可以在发送给Elastic之前在我的代码中验证JSON,但问题是这个实例将在大型团队之间共享。更好的解决方案是在节点上禁用无效的JSON作为可接受的文档,这样添加操作就会失败并迫使开发人员正确编码。
如何在Elastic中启用严格的JSON验证?
答案 0 :(得分:0)
您应该在插件中实现此功能。看看例子:
Validate data before indexing them
Implementing data validation in ElasticSearch
答案 1 :(得分:0)
使用基本上是ES文档类型中的文档架构的映射。此映射仅对键和关联值进行类型检查。 https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html#_explicit_mappings