3

このマッピングを含む簡単なドキュメントがあります:

'product': {
  'properties': {
    'name': { 'type': 'string' },
    'shops': { 
      'type': 'object', 
      'index_name': 'shop', 
      'properties': {
        'name': { 'type': 'string' },
        'url': { 'type': 'string' },
        'price': { 'type': 'integer' },
      }
    }
  }
}

ドキュメントは次のようになります。

{ 
  'name': 'Kindle', 
  'shops': [ 
    { 'name': 'amazon', 'url': 'http://...', 'price': 79 },
    { 'name': 'ebay', 'url': 'http://...', 'price': 99 }
}

しかし、私はこの形式でドキュメントを保存したい:

{
  'name': 'Kindle',
  'shops': {
    'amazon': { 'url': 'http://...', 'price': 79 },
    'ebay': { 'url': 'http://...', 'price': 99 }
  }
}

これをマッピングする方法はありますか?または、オブジェクト「shops」のみを作成し、スキーマレスのままにしておく必要があります。

4

1 に答える 1

2

path_match ("shops.*") [1] で dynamic_template を使用できる場合があります。

[1] https://www.elastic.co/guide/en/elasticsearch/reference/1.4/mapping-root-object-type.html

于 2012-04-12T18:42:54.763 に答える