2014-12-04 107 views
0

對於我們的elasticsearch客戶,我們必須提供標籤,驗證等信息。 例如有一個字段名稱的類型客戶。在哪裏存儲elasticsearch客戶端的元信息

字段名稱應在客戶端的GUI中標有'Name:',應該是強制性的,最大長度爲30個字符。

這些元信息應該不是文檔特定的。所有類型的客戶文件都有相同的標籤,驗證等特定領域的文件。

其意圖是客戶端應該在運行時從這些信息動態地生成它們的gui。不是整個gui,而是例如textfields及其驗證

哪裏是存儲此類信息的最佳位置。在客戶的類型映射中還是單獨的視圖/ gui類型?

是否有任何最佳實踐如何做到這一點?

回答

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"} 
    ]  
}