Elasticsearch 遇到文档中以前 未遇到的字段,它用 dynamic mapping 来确定字段的数据类型并自动把新的字段添加到类型映射。
    有时这是想要的行为有时又不希望这样。通常没有人知道以后会有什么新字段加到文档,但是又希望这些字段被自动的索引。也许你只想忽略它们。如果Elasticsearch是作为重要的数据存储,可能就会期望遇到新字段就会抛出异常,这样能及时发现问题。
    幸运的是可以用 dynamic 配置来控制这种行为 ,可接受的选项如下:

    • true动态添加新的字段—缺省
    • false忽略新的字段
    • strict如果遇到新字段抛出异常
    1. PUT /my_index
    2. {
    3. "mappings": {
    4. "my_type": {
    5. "dynamic": "strict", // 抛出异常
    6. "properties": {
    7. "title": { "type": "string"},
    8. "stash": {
    9. "type": "object",
    10. "dynamic": true // 动态添加
    11. }
    12. }
    13. }
    14. }
    15. }