在哪里存储elasticsearch客户端的元信息

时间:2014-12-04 21:50:25

标签: elasticsearch

对于我们的弹性搜索客户,我们必须提供标签,验证等信息。 例如。有一个带有字段名称的类型客户。

字段名称应在客户的GUI中标记为'名称:',应为必填项,最大长度为30个字符。

这些元信息不应该是特定于文档的。所有类型客户的文档都对特定字段具有相同的标签,验证等。

目的是客户端应该在运行时根据这些信息动态生成gui。不是整个gui,而是例如文本字段及其验证

存储此类信息的最佳位置在哪里。在客户的类型映射或单独的视图/ gui类型?

有没有最佳做法怎么做?

1 个答案:

答案 0 :(得分:0)

不幸的是,无法将信息放入类型映射(JSON模式)中。因此,创建一个新类型配置和该配置的实例(文档)。 配置由键/值对组成。索引配置的ID也是版本。配置的不兼容更改将使用更高的id进行索引。

配置JSON架构:

{
    "config":{
        "properties":{
            "property":{
                "properties":{
                    "key":{
                        "type":"string"
                    },
                    "value":{
                        "type":"string"
                    }
                }
            }
        }
    }
}

示例配置实例/文档:

{
    "property": [
        {"key":"customer.label", "value":"Customer"},
        {"key":"customer.minLength", "value":"3"},
        {"key":"customer.maxLength", "value":"20"},

        {"key":"product.1234.price.label", "value":"Price"},
        {"key":"product.1234.price.currency", "value":"Dollar"}
    ]     
}