2017-12-18 15 views
0

私は現在、Elasticsearch用のマッピングテンプレートファイルを簡素化するために苦労しています。実際、いくつかのパターンに一致するようにダイナミックテンプレートを設定する方法はありますか?同じ構造(たとえば、ここではソースと宛先)を持つフィールドがいくつかあります(Object)。いくつかの正確なフィールドに一致する動的な検索動的テンプレート

は、ここで私は実行何:私は(〜20)と一致するようにこれらの同じスキームをたくさん持っている

POST /_template/mapping-lol 
{ 
    "template": "*-newevents-*", 
    "mappings": { 
    "log": { 
     "dynamic_templates": [ 
     { 
      "system": { 
      "match_pattern": "regex", 
      "match": "^(source|destination)$", 
      "mapping": { 
       "properties": { 
       "name": { 
        "dynamic": false, 
        "type": "object", 
        "properties": { 
        "first": { 
         "type": "text" 
        }, 
        "last": { 
         "type": "text" 
        } 
        } 
       }, 
       "ip": { 
        "type": "ip" 
       } 
       } 
      } 
      } 
     } 
     ], 
     "properties": { 
     "source": { 
      "type": "object", 
      "dynamic": true 
     }, 
     "destination": { 
      "type": "object", 
      "dynamic": true 
     } 
     } 
    } 
    } 
} 

POST /tenant-newevents-1/log 
{ 
    "source": { 
    "name": { 
     "first": "John", 
     "last": "Doe" 
    }, 
    "ip": "1.2.3.4" 
    }, 
    "destination": { 
    "name": { 
     "first": "Jane", 
     "last": "Doe" 
    }, 
    "ip": "3.4.5.6" 
    } 
} 

GET /tenant-newevents-1 

これは上記動作しません...

ありがとうございました!

+0

私によく見えます。ちょうどES 5と6で試したところ、うまくいきました。インデックス/マッピングの作成方法を示してください。 – Val

+0

curl -XPOST "locallhost:9200/_template/mapping-events" [email protected] – moutonjr

+0

いいですね! mymapping.jsonの内容はどうですか? – Val

答えて

0

OK何かが間違っていることがわかりました:でフィールドをマッピングしないでください。ダイナミックマッピングを続行するにはです。マッピングにおける「ソース」スキームと「宛先」スキームの削除は機能しました。

POST /_template/mapping-lol 
{ 
    "template": "*-newevents-*", 
    "mappings": { 
    "log": { 
     "dynamic_templates": [ 
     { 
      "system": { 
      "match_pattern": "regex", 
      "match": "^(source|destination)$", 
      "mapping": { 
       "properties": { 
       "name": { 
        "dynamic": false, 
        "type": "object", 
        "properties": { 
        "first": { 
         "type": "text" 
        }, 
        "last": { 
         "type": "text" 
        } 
        } 
       }, 
       "ip": { 
        "type": "ip" 
       } 
       } 
      } 
      } 
     } 
     ], 
     "properties": {} 
    } 
    } 
} 
+0

これは私の次のコメントでした;-)それらのためにダイナミックなテンプレートを持っているなら、それらをマップするのは意味がありません。 – Val

関連する問題